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?
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


