Heim >Java >javaLernprogramm >Warum statische Initialisierungsblöcke in Java verwenden?
Vielleicht sind Sie in Java auf das Konzept der „statischen Initialisierungsblöcke“ gestoßen. Sie sind für Szenarien gedacht, in denen die Zuweisung von Werten zu statischen Feldern nicht in einer einzigen Zeile erfolgen kann. Sie fragen sich jedoch vielleicht, warum für diesen Zweck ein spezieller Block benötigt wird.
In Java werden nicht statische Blöcke jedes Mal ausgeführt, wenn eine neue Instanz der Klasse erstellt wird. Statische Blöcke hingegen werden nur einmal ausgeführt, wenn die Klasse selbst initialisiert wird. Dies gilt unabhängig davon, wie viele Objekte dieser bestimmten Klasse Sie erstellen.
Betrachten Sie das folgende Beispiel:
public class Test { static { System.out.println("Static"); } { System.out.println("Non-static block"); } public static void main(String[] args) { Test t = new Test(); Test t2 = new Test(); } }
Ausgabe:
Static Non-static block Non-static block
In diesem Beispiel Der statische Block mit „Static“ wird nur einmal ausgeführt, wenn die Testklasse zum ersten Mal geladen wird. Der nicht statische Block mit „Nicht statischer Block“ wird jedes Mal ausgeführt, wenn eine neue Instanz (t und t2) der Testklasse erstellt wird.
Daher können Sie mit einem statischen Initialisierungsblock bestimmte Aktionen ausführen oder weisen Sie statischen Feldern während der Klasseninitialisierung nur einmal Werte zu, während nicht statische Blöcke für Aufgaben verwendet werden, die jedes Mal ausgeführt werden müssen, wenn ein Objekt der Klasse instanziiert wird.
Das obige ist der detaillierte Inhalt vonWarum statische Initialisierungsblöcke in Java verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!