Verwendungszweck:
Wenn eine Methode oder Variable initialisiert und geladen werden muss oder häufig aufgerufen wird, kann static
hinzugefügt werden. Mit Static geänderte Methoden können direkt über den Klassennamen aufgerufen werden. Andernfalls muss vor dem Aufruf ein Objekt instanziiert werden.
Nachteile:
Das anfängliche Laden beansprucht mehr Speicher, daher wird nicht empfohlen, dieses Schlüsselwort für Methoden hinzuzufügen, die nicht häufig verwendet werden.
Wenn Sie Ihre statischen Variablen durch Berechnung initialisieren müssen, können Sie einen statischen Block deklarieren. Der statische Block wird dann nur einmal ausgeführt, wenn die Klasse geladen wird.
Empfohlene Java-bezogene Video-Tutorials: Java-Online-Tutorials
Das folgende Beispiel zeigt eine Klasse mit einer statischen Methode, einigen statischen Variablen und einem statischen Initialisierungsblock.
Beispielcode:
// Demonstrate static variables,methods,and blocks. class UseStatic { static int a = 3; static int b; static void meth(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b); } static { System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { meth(42); } }
Sobald die UseStatic-Klasse geladen ist, werden alle statischen Anweisungen ausgeführt.
Zuerst wird die Klassenattributvariable zugewiesen, a wird auf 3 gesetzt, b wird standardmäßig auf 0 initialisiert, dann wird der statische Block ausgeführt (Drucken einer Nachricht) und schließlich wird b ausgeführt initialisiert auf a*4 oder 12. Dann wird main() aufgerufen, main() ruft meth() auf und übergibt den Wert 42 an x, und die drei println()-Anweisungen beziehen sich auf zwei statische Variablen a und b sowie die lokale Variable x.
Hinweis: Es ist illegal, in einer statischen Methode auf Instanzvariablen zu verweisen.
Laufende Ergebnisse:
Static block initialized. x = 42 a = 3 b = 12
Empfohlene verwandte Artikel und Tutorials: Einführung in die Java-Programmierung
Das obige ist der detaillierte Inhalt vonWann man statisches in Java verwenden sollte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!