Beste Antwort
statischer Block {}
- statische Blöcke werden verwendet, um die statischen Daten in der Klasse zu initialisieren, es werden statische Ressourcen erstellt.
- statische Blöcke werden nur einmal ausgeführt, sobald die Klasse in den Speicher geladen wird.
- statische Blöcke werden vor der main () -Methode vom JavaClass-Loader ausgeführt.
- Eine Klasse kann mehrere statische Blöcke haben, die in derselben Reihenfolge ausgeführt werden, in der sie in das Programm geschrieben wurden .
- static {} wird jedes Mal ausgeführt, wenn die Klasse geladen wird.
- Wir können keine statischen Blöcke innerhalb einer statischen und einer nicht statischen Methode schreiben (statische Blöcke werden separat geschrieben )
- Innerhalb eines statischen Blocks kann nur auf statische Variablen zugegriffen werden.
- Wir können eine statische Methode innerhalb eines statischen Blocks aufrufen.
- Wir können keine Methoden innerhalb eines statischen Blocks erstellen statischer Block.
- Auf nicht statische Variablen und nicht statische Methoden kann in a nicht zugegriffen werden statischer Block.
- Wenn Sie versuchen, auf nicht statische Variablen oder Methoden innerhalb eines statischen Blocks zuzugreifen, wird ein Fehler bei der Kompilierung angezeigt:
Vom Typ staticblock
kann kein statischer Verweis auf die nicht statische Methode wow () erstellt werden.
- Innerhalb einer Klasse befindet sich ein statischer Block {}.
- Es sind zwei statische Variablen „ss, j“ deklariert, auf die innerhalb der statischen Methode und im statischen Block
- Diese Methode wird in einem statischen Block aufgerufen. {}
- statische Variablen und statische Methoden können sein Zugriff nur innerhalb eines statischen Blocks
public class staticblock {
static int ss=23; // initialize the static variable with value;
public static void disp() {
System.out.println("runnin static block before main method");
System.out.println("Value inside static method is "+ss);
}
static int j;
static // static block
{
j=8;
System.out.println("static block is invoked with the value"+j); // access the static variable inside static block
disp(); // calling the static method inside static block
}
public static void main(String[] args) {
}
}
Überprüfen Sie, ob die Ausgabe
statischer Block mit dem Wert 8
ausgeführt wird, der vor der Hauptmethode ausgeführt wird
Wert innerhalb der statischen Methode ist 23
Antwort
Statische Blöcke werden auch als Statische Initialisierungsblöcke Eine Klasse kann eine beliebige Anzahl statischer Blöcke haben und sie können überall in der Java-Klasse angezeigt werden.
Dieser Block wird ausgeführt, wenn die Klasse lo ist im Gedächtnis hinzugefügt. Das Java-Laufzeitsystem garantiert, dass statische Initialisierungsblöcke in der Reihenfolge aufgerufen werden, in der sie im Quellcode erscheinen.
Beispiel:
public class Solution{
static {
System.out.println("Static block - 1");
}
static {
System.out.println("Static block - 2");
}
public static void main(String[] args){
System.out.println("Main Method");
}
static {
System.out.println("Static block - 3");
}
}
Ausgabe:
Static block - 1
Static block - 2
Static block - 3
Main Method