Statikus változó be Java
⚡ Okos összefoglaló
Statikus változó be Java az osztályhoz tartozik, nem pedig valamelyik objektumhoz, és egyszer inicializálódik az osztály betöltésekor. Egyetlen megosztott példány szolgálja ki az összes példányt, amely közvetlenül az osztály nevén keresztül érhető el objektum létrehozása nélkül.

A statikus lehet:
- Statikus változók
- Statikus módszerek
- Statikus blokkok Code.
Nézzük először a statikus változókat és a statikus módszereket.
Miben található a statikus változó? Java?
Statikus változó be Java egy változó, amely az osztályhoz tartozik, és csak egyszer inicializálódik a végrehajtás elején. Ez egy olyan változó, amely az osztályhoz tartozik, és nem az objektumhoz (példányhoz). A statikus változók csak egyszer inicializálódnak, a végrehajtás elején. Ezek a változók inicializálódnak először, a példányváltozók inicializálása előtt.
- Egyetlen példány, amelyet az osztály összes példánya megoszthat
- A statikus változó közvetlenül elérhető az osztálynévvel, és nincs szüksége objektumra
Syntax:
<class-name>.<variable-name>
Miben található a Static Method Java?
Statikus módszer in Java egy metódus, amely az osztályhoz tartozik és nem az objektumhoz. A statikus metódusok csak statikus adatokhoz férhetnek hozzá. Ez egy olyan metódus, amely az osztályhoz tartozik, és nem az objektumhoz (példányhoz). A statikus metódusok csak statikus adatokhoz férhetnek hozzá. Nem tud hozzáférni a nem statikus adatokhoz (Példányváltozók).
- A statikus metódusok csak más statikus metódusokat hívhatnak, nem statikus metódusokat nem.
- A statikus metódusok közvetlenül elérhetők az osztálynévvel, és nincs szükségük objektumra
- Egy statikus metódus semmiképpen sem hivatkozhat „ez” vagy „szuper” kulcsszavakra
Syntax:
<class-name>.<method-name>
Jegyzet: A fő metódus statikus, mivel az alkalmazás futtatásához elérhetőnek kell lennie, mielőtt bármilyen példányosítás megtörténik.
Tanuljuk meg a statikus kulcsszavak árnyalatait néhány gyakorlat elvégzésével!
Példa: Statikus változók és metódusok meghívása
Step 1) Másolja be a következő kódot egy szerkesztőbe
public class Demo{ public static void main(String args[]){ Student s1 = new Student(); s1.showData(); Student s2 = new Student(); s2.showData(); //Student.b++; //s1.showData(); } } class Student { int a; //initialized to zero static int b; //initialized to zero only when class is loaded not for each object created. Student(){ //Constructor incrementing static variable b b++; } public void showData(){ System.out.println("Value of a = "+a); System.out.println("Value of b = "+b); } //public static void increment(){ //a++; //} }
Step 2) Mentse és fordítsa le a kódot. Futtassa a kódot, mint java demó.
Step 3) A várt kimenet alább látható
A következő diagram bemutatja, hogyan jönnek létre a referenciaváltozók és objektumok, és hogyan érhetők el a statikus változók a különböző példányok által.
Step 4) A szintaxis segítségével az osztályon kívülről is elérhető egy statikus változó ClassName.Variable_Name. Megjegyzés: 7. és 8. sor. Mentés, fordítás és futtatás. Figyelje meg a kimenetet.
Value of a = 0 Value of b = 1 Value of a = 0 Value of b = 2 Value of a = 0 Value of b = 3
Step 5) 25,26., 27. és XNUMX. sor. Mentés, fordítás és futtatás.
error: non-static variable a cannot be referenced from a static context a++;
Step 6) Hiba = ? Ennek az az oka, hogy nem érhető el a "példányváltozó"a" a java static class metódusából "növekedés".
Mit tartalmaz a statikus blokk? Java?
Az statikus blokk egy utasításblokk az a-n belül Java osztály, amely akkor kerül végrehajtásra, amikor egy osztályt először betöltenek a JVM. A statikus blokk segít a statikus adattagok inicializálásában, ahogyan a konstruktorok is segítenek 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: Hogyan lehet elérni a statikus blokkot
public class Demo { static int a; static int b; static { a = 10; b = 20; } public static void main(String args[]) { System.out.println("Value of a = " + a); System.out.println("Value of b = " + b); } }
a program következő kimenetét kapja meg.
Value of a = 10 Value of b = 20


