Definition:
- Ein statischer Block ist ein Codestück, das ausgeführt wird, wenn die Klasse zum ersten Mal von der JVM geladen wird.
- Es wird verwendet, um statische Variablen zu initialisieren oder Aufgaben auszuführen, die abgeschlossen werden müssen, bevor die Klasse verwendet werden kann.
Zweck:
- Kann verwendet werden, um wichtige Initialisierungen durchzuführen, wie z. B. das Herstellen von Verbindungen oder das Berechnen von Anfangswerten.
- Nützlich zum Vorbereiten der Klasse, bevor Instanzen erstellt oder statische Methoden aufgerufen werden.
Ausführung:
- Der statische Block wird nur einmal ausgeführt, sobald die Klasse geladen wird, vor jedem anderen Code, der sich auf die Klasse bezieht.
- Es wird auch dann ausgeführt, wenn kein Objekt der Klasse erstellt wird.
Codebeispiel mit statischem Block:
StaticBlock.java
// Usa um bloco estático
class StaticBlock {
static double rootOf2;
static double rootOf3;
// Bloco estático para inicialização
static {
System.out.println("Inside static block.");
rootOf2 = Math.sqrt(2.0);
rootOf3 = Math.sqrt(3.0);
}
StaticBlock(String msg) {
System.out.println(msg);
}
}
class SDemo3 {
public static void main(String args[]) {
StaticBlock ob = new StaticBlock("Inside Constructor");
System.out.println("Square root of 2 is " + StaticBlock.rootOf2);
System.out.println("Square root of 3 is " + StaticBlock.rootOf3);
}
}
Nach dem Login kopieren
- Die Meldung „Innerhalb des statischen Blocks.“ zeigt, dass der statische Block ausgeführt wurde, bevor das StaticBlock-Objekt erstellt wurde.
- Die Werte von rootOf2 und rootOf3 werden im statischen Block berechnet und stehen vor der Ausführung einer Methode oder Objektkonstruktion zur Verfügung.
Vorteil statischer Blöcke:
Sie stellen sicher, dass bestimmte Initialisierungen sicher und zum richtigen Zeitpunkt durchgeführt werden, bevor die Klasse verwendet wird.
Allgemeine Verwendung:
- Initiieren Sie komplexe statische Variablen oder führen Sie die Erstkonfiguration von Ressourcen durch, die die Klasse benötigt.
Das obige ist der detaillierte Inhalt vonStatische Blöcke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!