Auf Bytecode-Ebene.
this
Hinweis: Der Konstruktor auf Bytecode-Ebene enthält die Anfangswerte für Variablen und den Code im Java-Konstruktor. z.B.
%Vor%ist dasselbe wie
%Vor%Beachten Sie auch: Das super () wird immer aufgerufen, bevor ein Teil der Klasse initialisiert wird.
Auf einigen JVMs können Sie ein Objekt erstellen, ohne es mit Unsafe.allocateInstance () zu initialisieren. Wenn Sie das Objekt auf diese Weise erstellen, können Sie keinen Konstruktor aufrufen (ohne JNI zu verwenden), aber Sie können Reflektionen verwenden, um jedes Feld zu initialisieren.
Der Objektspeicher wird zugewiesen, die Feldvariablen mit Initialwerten werden initialisiert und dann wird der Konstruktor aufgerufen, aber sein Code wird nach dem Konstruktorcode der Objekt-Superklasse ausgeführt.
Die JVM wird zuerst den Speicher für Ihr Objekt zuweisen, dann alle Felder initialisieren und dann Ihren Konstruktor aufrufen.
Der Konstruktor wird aufgerufen, wenn ein neues Objekt erstellt wird.
%Vor%Hoffe, das hilft.
im Grunde Konstruktoren werden aufgerufen, um die Werte der Instanzvariablen mit Ausnahme der Groß- / Kleinschreibung für Standardkonstruktoren zu initialisieren. Diese Initialisierung der Instanzvariablen erfolgt jedoch in 4 Schritten (falls zutreffend):
Konstruktor ist das, was praktisch ein Objekt erzeugt. Es wird aufgerufen, wenn das Objekt erstellt wird, indem %code% (oder seine parametrisierte Version) ausgeführt wird.
Gegeben diese Optionen, 1. Vor der Objekterstellung.
Nach Abschluss des Konstruktors wurde das Objekt erstellt.
Immer wenn wir ein Objekt mit dem Operator 'new' erstellen, wird die erste Aufgabe von der neuen ausgeführt, dh sie weist den Speicher für das Objekt im Heap zu, indem er auf die Referenzvariable im Stapel zeigt und die Anfangswerte der Objektfelder festlegt ruft den Konstruktor auf und übergibt 'this' als Objekt, um es entsprechend Ihrer Anforderung zu initialisieren ...
So wird der Konstruktor immer nach der Objekterstellung aufgerufen ....
Hinweis: Wenn Sie in den Konstruktor eingeben, bedeutet dies, dass das 'this' Schlüsselwort bedeutet, dass Ihr Objekt erstellt wurde.
Wann wird der Konstruktor aufgerufen?
Auf Bytecode-Ebene.
Hinweis: Der Konstruktor auf Bytecode-Ebene enthält die Anfangswerte für Variablen und den Code im Java-Konstruktor. z.B.
%Vor%ist dasselbe wie
%Vor%Beachten Sie auch: Das super () wird immer aufgerufen, bevor ein Teil der Klasse initialisiert wird.
Auf einigen JVMs können Sie ein Objekt erstellen, ohne es mit Unsafe.allocateInstance () zu initialisieren. Wenn Sie das Objekt auf diese Weise erstellen, können Sie keinen Konstruktor aufrufen (ohne JNI zu verwenden), aber Sie können Reflektionen verwenden, um jedes Feld zu initialisieren.
Die JVM wird zuerst den Speicher für Ihr Objekt zuweisen, dann alle Felder initialisieren und dann Ihren Konstruktor aufrufen.
im Grunde Konstruktoren werden aufgerufen, um die Werte der Instanzvariablen mit Ausnahme der Groß- / Kleinschreibung für Standardkonstruktoren zu initialisieren. Diese Initialisierung der Instanzvariablen erfolgt jedoch in 4 Schritten (falls zutreffend):
Immer wenn wir ein Objekt mit dem Operator 'new' erstellen, wird die erste Aufgabe von der neuen ausgeführt, dh sie weist den Speicher für das Objekt im Heap zu, indem er auf die Referenzvariable im Stapel zeigt und die Anfangswerte der Objektfelder festlegt ruft den Konstruktor auf und übergibt 'this' als Objekt, um es entsprechend Ihrer Anforderung zu initialisieren ...
So wird der Konstruktor immer nach der Objekterstellung aufgerufen ....
Hinweis: Wenn Sie in den Konstruktor eingeben, bedeutet dies, dass das 'this' Schlüsselwort bedeutet, dass Ihr Objekt erstellt wurde.
Tags und Links java