Statisch Statisch; kann zum Ändern von Klassenattributen, Methoden und Codeblöcken verwendet werden
Wenn wir eine Klasse erstellen, beschreiben wir das Aussehen und Verhalten der Objekte dieser Klasse. Sofern es nicht neu ist, das ein Objekt dieser Klasse erstellt, können Sie tatsächlich kein Objekt erhalten. Erst wenn new zum Erstellen eines Objekts ausgeführt wird, wird der Datenspeicherplatz zugewiesen und seine Methoden können aufgerufen werden.
Es gibt zwei Situationen, die mit der neuen Objektmethode nicht gelöst werden können.
1. Wenn Sie nur einen separaten Speicherplatz in einer bestimmten Domäne zuweisen möchten, müssen Sie nicht darüber nachdenken, wie viele Objekte Sie erstellen oder überhaupt erstellen möchten.
2. Es wird gehofft, dass eine bestimmte Methode keinem Objekt der Klasse zugeordnet ist, die über diese Methode verfügt.
Mit anderen Worten: Es ist nicht erforderlich, ein Objekt zu erstellen, um diese Methode aufzurufen. Zu diesem Zeitpunkt können wir das Schlüsselwort static verwenden, um es zu lösen.
Wenn ein Objekt als statisch deklariert wird, bedeutet dies, dass dieses Feld oder diese Methode keinem Objekt seiner Klasse zugeordnet wird. Daher können wir statische Methoden aufrufen oder auf statische Felder zugreifen, ohne ein Objekt dieser Klasse zu erstellen.
statisches Attribut [Klassenattribut]: ein Attribut, das von allen Objekten dieser Klasse gemeinsam genutzt wird und nur einen Teil des Speicherplatzes belegt
Zum Beispiel:
Java-Code
public class one{ static i=10; }
Selbst wenn Sie nun zwei One-Objekte neu erstellen, verfügt one.i nur über einen Speicherplatz, und diese beiden Objekte teilen sich diesen i gleichzeitig
Java-Code
one a1=new one(); one a2=new one();
Hier verweisen a1 und a2 beide auf denselben Speicherplatz, sodass ihre Werte beide 10 sind.
statische Methode [Klassenmethode]: Klasse Methoden können this und super nicht mehr zur Darstellung von Objekten verwenden
Ob eine Klassenmethode die übergeordnete Klasse aufruft oder von der Unterklasse überschrieben wird, hängt nur vom Klassennamen ab
Zum Beispiel:
Java-Code
public class two{ static void jia(){ one.i++; }
Nun, diese beiden Die jia()-Methode erhöht die statischen Daten i über den ++-Operator.
Wir können es mit einem typischen neuen Objekt aufrufen:
Java-Code
two t=new two(); t.jia();
Da diese Methode statisch ist, können wir sie direkt aufrufen, wie zum Beispiel:
Java-Code
two.one();
Eine wichtige Verwendung der statischen Methode besteht darin, dass Sie sie aufrufen können, ohne ein Objekt zu erstellen.
Statischer Codeblock: Auch statischer Codeblock genannt. Es handelt sich um einen statischen Anweisungsblock in einer Klasse, der von Klassenmitgliedern unabhängig ist. Es kann mehrere geben und an keiner beliebigen Stelle platziert werden. Wenn die JVM die Klasse lädt, werden diese statischen Codeblöcke ausgeführt. Wenn mehrere statische Codeblöcke vorhanden sind, führt die JVM sie in der Reihenfolge aus, in der sie in die Klasse geschrieben werden, und jeder Codeblock wird nur einmal ausgeführt.
Zum Beispiel:
Java-Code
public class dome{ static { System.out.print("A"); } static { System.out.print("B"); } static { System.out.print("C"); } public static void main(String[] args) { System.out.print("E"); } }
Ausführungsergebnis
ABCE