Statikus változó be Java
- Statikus változók
- Statikus módszerek
- Statikus kódblokkok.
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 változó, amely az osztályhoz tartozik, és csak egyszer inicializálódik a végrehajtás kezdetén. Ez egy változó, amely az osztályhoz tartozik, és nem az objektumhoz (példány). A statikus változók csak egyszer, a végrehajtás kezdetén inicializálódnak. Ezeket a változókat a rendszer először inicializálja, mielőtt bármely példányváltozó inicializálódik.
- 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?
A 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