Prozess der Objektinitialisierung:
1: Initialisierungsklasse
Wenn ein Objekt zum ersten Mal erstellt wird:
Dog dog = new Dog();
Beim ersten Zugriff auf eine statische Methode oder ein statisches Feld einer Klasse:
Dog.staticFields;
Der Java-Interpreter sucht nach dem Pfad der Klasse und findet die kompilierte Dog.class-Datei.
Zweitens: Klassenressourcen abrufen
Dann lädt JVM Dog.class und generiert ein Klassenobjekt. Wenn zu diesem Zeitpunkt statische Methoden oder Variablen vorhanden sind, wird die statische Initialisierungsaktion ausgeführt. Bitte beachten Sie zu diesem Zeitpunkt, dass die statische Initialisierung nur einmal ausgeführt wird, wenn das Klassenobjekt zum ersten Mal während der Ausführung des Programms geladen wird. Diese Ressourcen werden im Methodenbereich von jvm platziert.
Der Methodenbereich wird auch als statischer Bereich bezeichnet und wird von allen Threads gemeinsam genutzt.
Der Methodenbereich enthält Elemente, die im gesamten Programm immer eindeutig sind, einschließlich aller Klassen- und statischen Variablen.
3: Initialisieren Sie das Objekt Dog dog = new Dog()
1 Um zum ersten Mal ein Dog-Objekt zu erstellen, führen Sie Folgendes aus Schritt 1 oder 2 oben
2. Ordnen Sie dem Dog-Objekt auf dem Heap genügend Speicherplatz zu, und alle Eigenschaften und Methoden werden auf Standardwerte gesetzt (Zahlen sind 0, Zeichen sind null, Boolescher Wert ist falsch). , und alle Referenzen werden auf null gesetzt)
3. Führen Sie den Konstruktor aus, um zu prüfen, ob eine übergeordnete Klasse vorhanden ist Hier hat Dog keine übergeordnete Klasse und die Zuweisung des Standardwertfelds erfolgt, was die Initialisierungsaktion der Methode darstellt.
4. Führen Sie den Konstruktor aus.
Empfohlenes Tutorial: Einführung in die Java-Entwicklung
Das obige ist der detaillierte Inhalt vonWie Objekte in Java initialisiert werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!