A statikus lehet:
- Statikus változók
- Statikus módszerek
- Statikus Blokkok Kód.
Először nézzük meg a statikus változókat és a statikus módszereket.
Mi a statikus változó a Java-ban?
A Java statikus változója az osztályhoz tartozó változó, amelyet a végrehajtás kezdetekor csak egyszer inicializálnak. Ez egy olyan változó, amely az osztályhoz tartozik, és nem objektumhoz (példányhoz) tartozik. A statikus változókat csak egyszer inicializálják, a végrehajtás kezdetekor. Ezeket a változókat először inicializáljuk, mielőtt bármely példányváltozót inicializálnánk.
- Egyetlen példány, amelyet az osztály összes példánya megoszthat
- A statikus változó közvetlenül elérhető az osztály nevével, és nincs szüksége objektumra
Szintaxis:
< class-name>.
Mi a statikus módszer a Java-ban?
A statikus módszer a Java-ban olyan osztály, amely az osztályhoz tartozik, és nem az objektumhoz. A statikus módszer csak statikus adatokhoz férhet hozzá. Ez egy olyan módszer, amely az osztályhoz tartozik, és nem az objektumhoz (példányhoz). A statikus módszer csak statikus adatokhoz férhet hozzá. Nem fér hozzá nem statikus adatokhoz (példányváltozókhoz).
- A statikus módszer csak más statikus módszereket hívhat meg, és nem hívhat meg nem statikus módszereket belőle.
- A statikus metódus közvetlenül elérhető az osztálynévvel, és nincs szüksége objektumra
- A statikus módszer egyébként nem hivatkozhat "erre" vagy "szuper" kulcsszavakra
Szintaxis:
< class-name>.
Megjegyzés: a fő módszer statikus, mivel hozzáférhetőnek kell lennie egy alkalmazás futtatásához, mielőtt bármilyen példányosítás megtörténne.
Tanulja meg a statikus kulcsszavak árnyalatait néhány gyakorlattal!
Példa: Statikus változók és módszerek hívása
1. lépés: Másolja a következő kódot egy szerkesztőbe
nyilvános osztály Demo {public static void main (String args []) {Diák s1 = új hallgató ();s1.showData ();Student s2 = new Student ();s2.showData ();//Student.b++;//s1.showData ();}}osztályos diákint a; // nullára inicializálvastatikus int b; // csak akkor nullázódik, ha az osztály betöltődik, nem minden létrehozott objektumhoz.Diák(){// Konstruktor inkrementáló statikus változó bb ++;}public void showData () {System.out.println ("a =" + a értéke);System.out.println ("b értéke =" + b);}// public static void increment () {// a ++;//}}
2. lépés: Mentse és fordítsa le a kódot. Futtassa a kódot, java Demo .
3. lépés: A várható kimenet az alábbiakban látható
A következő ábra bemutatja, hogy a különböző példányok hogyan hozzák létre a referenciaváltozókat és az objektumokat, és hogyan érik el a statikus változókat.
4. lépés) A statikus változó az osztályon kívülről is elérhető a ClassName.Variable_Name szintaxissal . A 7. és 8. sor megjegyzés nélküli kommentje. Mentés, fordítás és futtatás. Figyelje a kimenetet.
Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 35. lépés: Kommentelje a 25,26 és 27 sort. Mentés, fordítás és futtatás.
error: non-static variable a cannot be referenced from a static context a++;
6. lépés) Hiba =? Ez azért van, mert nem lehet hozzáférni az " a " példányváltozóhoz a java static class metódus " increment " -jéből .
Mi a statikus blokk a Java-ban?
A statikus blokk egy mondatblokk egy Java osztályon belül, amelyet akkor hajtanak végre, amikor egy osztályt először betöltenek a JVM-be. A statikus blokk segít inicializálni a statikus adattagokat , mint a konstruktorok a példánytagok inicializálásában.
class Test{static {//Code goes here}}
A következő program a java statikus blokk példája.
Példa: A statikus blokk elérése
nyilvános osztály Demo {statikus int a;statikus int b;statikus {a = 10;b = 20;}public static void main (String args []) {System.out.println ("a =" + a értéke);System.out.println ("b értéke =" + b);}}
megkapja a program következő kimenetét.
Value of a = 10Value of b = 20