[JAVA] Über statische
Nach dem Laden wird die Klassendatei in den statischen Teil und die anderen Teile aufgeteilt und jeweils in einem anderen Speicherbereich gespeichert.
Mit statisch qualifizierte Mitglieder werden im statischen Bereich und andere Definitionen im Metaspace-Bereich (nativer Speicher) platziert.
--Wenn eine Instanz erstellt wird, ** wird der Instanzbereich im Heap-Bereich gemäß der Klassendefinition im Metaspace-Bereich gesichert **
- ** Statische Felder können verwendet werden, ohne eine Instanz zu erstellen **
- Um auf ein statisches Feld zuzugreifen, schreiben Sie "class name.field name". Oder erstellen Sie eine Instanz und greifen Sie mit dieser Referenz darauf zu.
--Statische Elemente können ohne Instanz verwendet werden, während nicht statische Elemente nicht ohne Instanz verwendet werden können. Daher können ** statische Methoden nicht auf nicht statische Mitglieder zugreifen **
- Umgekehrt ist es möglich, über nicht statische Methoden auf statische Elemente zuzugreifen
Verweise
Gründliche Erfassung der Java SE11 Silver-Problemsammlung