Heim >Java >JavaBase >Wie Objekte in Java initialisiert werden

Wie Objekte in Java initialisiert werden

王林
王林Original
2019-11-21 16:14:023212Durchsuche

Wie Objekte in Java initialisiert werden

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn