Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Statische Variable in Java:Was ist statischer Block &Methode [Beispiel]

Die Statik kann sein:

  1. Statische Variablen
  2. Statische Methoden
  3. Statische Codeblöcke.

Schauen wir uns zuerst 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 ist eine Variable, die zur Klasse gehört und nicht zum Objekt (Instanz). Statische Variablen werden nur einmal zu Beginn der Ausführung initialisiert. Diese Variablen werden zuerst initialisiert, bevor irgendwelche Instanzvariablen initialisiert werden.

Syntax:

<class-name>.<variable-name>

Was ist eine 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 ist eine Methode, die zur Klasse gehört und nicht zum Objekt (Instanz). Eine statische Methode kann nur auf statische Daten zugreifen. Es kann nicht auf nicht statische Daten (Instanzvariablen) zugreifen.

Syntax:

<class-name>.<method-name>

Hinweis: Die Hauptmethode ist statisch, da sie für eine Anwendung zugänglich sein muss, damit sie ausgeführt werden kann, bevor eine Instanziierung stattfindet.


Lassen Sie uns die Nuancen der statischen Keywords lernen, indem wir einige Übungen machen!

Beispiel:Wie man statische Variablen und Methoden aufruft

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 als Java-Demo aus .

Schritt 3) Die erwartete Ausgabe wird unten angezeigt

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

Schritt 4) Mit der Syntax Klassenname.Variablenname ist es möglich, von außerhalb der Klasse auf eine statische Variable zuzugreifen . Entkommentieren Sie Zeile 7 &8 . 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 Zeile 25,26 &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 auf die Instanzvariable „a nicht zugegriffen werden kann ” aus der statischen Java-Klassenmethode “inkrement „.

Was ist statischer Block in Java?

Der statische Block ist ein Anweisungsblock innerhalb einer Java-Klasse, der ausgeführt wird, wenn eine Klasse zum ersten Mal in die JVM geladen wird. Ein statischer Block hilft bei der Initialisierung der statischen Datenelemente , genau wie Konstruktoren helfen, Instanzmitglieder zu initialisieren.

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

Das folgende Programm ist das Beispiel eines statischen Java-Blocks.

Beispiel:Zugriff auf statischen Block

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 folgende Ausgabe des Programms.

Value of a = 10
Value of b = 20

Java

  1. Letztes Java-Schlüsselwort
  2. Java-Instanz des Operators
  3. Verschachtelte statische Java-Klasse
  4. Anonyme Java-Klasse
  5. Java-Singleton-Klasse
  6. Java-Reflexion
  7. Java-Ausnahmebehandlung
  8. Java ObjectOutputStream-Klasse
  9. Java-Generika
  10. Java-Dateiklasse