Was ist ein statischer Block?


Beste Antwort

statischer Block {}

  1. statische Blöcke werden verwendet, um die statischen Daten in der Klasse zu initialisieren, es werden statische Ressourcen erstellt.
  2. statische Blöcke werden nur einmal ausgeführt, sobald die Klasse in den Speicher geladen wird.
  3. statische Blöcke werden vor der main () -Methode vom JavaClass-Loader ausgeführt.
  4. Eine Klasse kann mehrere statische Blöcke haben, die in derselben Reihenfolge ausgeführt werden, in der sie in das Programm geschrieben wurden .
  5. static {} wird jedes Mal ausgeführt, wenn die Klasse geladen wird.
  6. Wir können keine statischen Blöcke innerhalb einer statischen und einer nicht statischen Methode schreiben (statische Blöcke werden separat geschrieben )
  7. Innerhalb eines statischen Blocks kann nur auf statische Variablen zugegriffen werden.
  8. Wir können eine statische Methode innerhalb eines statischen Blocks aufrufen.
  9. Wir können keine Methoden innerhalb eines statischen Blocks erstellen statischer Block.
  10. Auf nicht statische Variablen und nicht statische Methoden kann in a nicht zugegriffen werden statischer Block.
  11. 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
  • Eine statische Methode disp () wird geschrieben und druckt die darin enthaltene statische Variable.
  • 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.