Ich bin ein Anfänger, aber ich habe es für das persönliche Studium zusammengefasst
** Nach dem Laden ** wird der statische Inhalt der Klassendatei in den als ** statischer Bereich ** bezeichneten Speicherbereich und die anderen in den ** Heap-Bereich ** gestellt. ** Klassenvariablen ** und ** Klassenmethoden **, die im statischen Bereich platziert sind, werden als eine in der Klasse positioniert. Unabhängig davon, wie viele Instanzen aus dieser Klasse erstellt werden, werden nicht jeder Instanz Mitgliedsvariablen und -methoden zugewiesen, und es werden nur eine Daten erstellt. Daher haben ** alle Instanzen denselben Wert **, sodass Sie ihn verwenden können, ohne eine Instanz zu erstellen **
** * Laden ** ・ ・ ・ Lesen einer Klassendatei
** * Klassenvariablen, Klassenmethoden ** ... solche mit statischen Modifikatoren ** Klassenvariablen **, ** Klassenmethoden **, solche ohne statische Modifikatoren ** Instanzvariablen Aufgerufene **, ** Instanzmethode **
Statische Elemente können mit oder ohne Instanz verwendet werden, nicht statische Elemente können jedoch nicht ohne Instanz verwendet werden Aufgrund dieser Regel kann nur auf statische Methoden zugegriffen werden ** statisch qualifiziert **
・ Es gibt zwei Möglichkeiten, darauf zuzugreifen ① ** Klassenname. Feldname ** ② Nach dem Erstellen der Instanz ** Variablenname.Feldname **
・ Es gibt zwei Möglichkeiten zum Initialisieren ① Stellen Sie den Wert zum Zeitpunkt der Deklaration ein ② Stellen Sie den Wert mit ** statischer Initialisierer ** ein
** * statischer Initialisierer ** -Blöcke, die beim Laden nur einmal mit dem statischen Modifikator ausgeführt werden -Beschreiben Sie den Prozess, den Sie aufrufen und ausführen möchten, bevor Sie eine bestimmte Klasse oder die Hauptmethode instanziieren.
-Statische Methoden gehören zur Klasse und führen die angegebene Verarbeitung unabhängig vom Status der Instanz aus. Daher werden sie häufig zur Implementierung der häufig verwendeten Verarbeitung verwendet.
· Wie man darauf zugreift ① Rufen Sie an ** Klassenname. Methodenname (Argument, ...) ** (2) Siehe Methode der Funktionsschnittstelle ** Klassenname :: Methodenname (Argument, ...) **