Statische Variable in Java

Die Statik kann sein:

  1. Statische Variablen
  2. Statische Methoden
  3. Statische Codeblรถcke.

Schauen wir uns zunรคchst statische Variablen und statische Methoden an.

Was ist eine statische Variable in Java?

Statische Variable in Java ist eine Variable, die zur Klasse gehรถrt und nur einmal zu Beginn der Ausfรผhrung initialisiert wird. Es handelt sich um eine Variable, die zur Klasse und nicht zum Objekt (Instanz) gehรถrt. Statische Variablen werden nur einmal zu Beginn der Ausfรผhrung initialisiert. Diese Variablen werden zuerst initialisiert, bevor Instanzvariablen initialisiert werden.

  • Eine einzelne Kopie, die von allen Instanzen der Klasse gemeinsam genutzt werden soll
  • Auf eine statische Variable kann direkt รผber den Klassennamen zugegriffen werden und es ist kein Objekt erforderlich

Syntax:

<class-name>.<variable-name>

Was ist die statische Methode in Java?

Statische Methode in Java ist eine Methode, die zur Klasse und nicht zum Objekt gehรถrt. Eine statische Methode kann nur auf statische Daten zugreifen. Es handelt sich um eine Methode, die zur Klasse und nicht zum Objekt (Instanz) gehรถrt. Eine statische Methode kann nur auf statische Daten zugreifen. Es kann nicht auf nicht statische Daten zugegriffen werden (Instanzvariablen).

  • Eine statische Methode kann nur andere statische Methoden aufrufen und keine nicht statische Methode daraus aufrufen.
  • Auf eine statische Methode kann direkt รผber den Klassennamen zugegriffen werden und benรถtigt kein Objekt
  • Eine statische Methode kann ohnehin nicht auf die Schlรผsselwรถrter โ€žthisโ€œ oder โ€žsuperโ€œ verweisen

Syntax:

<class-name>.<method-name>

Hinweis: Die Hauptmethode ist statisch, da sie fรผr die Ausfรผhrung einer Anwendung zugรคnglich sein muss, bevor eine Instanziierung stattfindet.

Lernen wir die Nuancen der statischen Schlรผsselwรถrter anhand einiger รœbungen kennen!

Beispiel: So rufen Sie statische Variablen und Methoden auf

Schritt 1) Kopieren Sie den folgenden Code in einen Editor

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++;
//}

}

Schritt 2) Speichern und kompilieren Sie den Code. Fรผhren Sie den Code aus als: Java-Demo.

Schritt 3) Die erwartete Ausgabe wird unten angezeigt


Java Statische Methoden und Variablen

Das folgende Diagramm zeigt, wie Referenzvariablen und -objekte erstellt werden und wie auf statische Variablen von den verschiedenen Instanzen zugegriffen wird.


Java Statische Methoden und Variablen

Schritt 4) Mithilfe der Syntax ist es mรถglich, von auรŸerhalb der Klasse auf eine statische Variable zuzugreifen Klassenname.Variablenname. Kommentieren Sie Zeile 7 und 8 aus. Speichern, kompilieren und ausfรผhren. Beobachten Sie die Ausgabe.

Value of a = 0
Value of b = 1
Value of a = 0
Value of b = 2
Value of a = 0
Value of b = 3

Schritt 5) Kommentieren Sie die Zeilen 25,26 und 27 aus. Speichern, kompilieren und ausfรผhren.

	 error: non-static variable a cannot be referenced from a static context a++; 

Schritt 6) Fehler = ? Dies liegt daran, dass kein Zugriff auf die Instanzvariable โ€žaโ€žaus der statischen Java-Klassenmethodeโ€œZuwachs".

Was ist statischer Block in Java?

Die statischer Block ist ein Anweisungsblock innerhalb eines Java Klasse, die ausgefรผhrt wird, wenn eine Klasse zum ersten Mal in das JVMherunterzuladen. Ein Der statische Block hilft bei der Initialisierung der statischen Datenelemente, genau wie Konstruktoren dabei helfen, Instanzmitglieder zu initialisieren.

class Test{
 static {
 //Code goes here
 }
}

Das folgende Programm ist ein Beispiel fรผr einen statischen Java-Block.

Beispiel: So greifen Sie auf einen statischen Block zu

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);

 	}
}

Sie erhalten die folgende Ausgabe des Programms.

Value of a = 10
Value of b = 20

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: