Wann wird der Konstruktor in Java aufgerufen?

8

Wann wird der Konstruktor aufgerufen?

  1. Vor der Erstellung des Objekts.
  2. Während der Objekterstellung.
  3. Nach der Objekterstellung.
Sushant 05.03.2012, 13:21
quelle

9 Antworten

20

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.

    
Luciano 05.03.2012, 13:25
quelle
5

Auf Bytecode-Ebene.

  1. Ein Objekt wird erstellt, aber nicht initialisiert.
  2. Der Konstruktor wird aufgerufen und übergibt das Objekt als this
  3. Das Objekt ist vollständig konstruiert / erstellt, wenn der Konstruktor zurückkehrt.

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.

    
Peter Lawrey 05.03.2012 13:26
quelle
3
___ answer9567412 ___

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.

    
___ answer9567401 ___

Die JVM wird zuerst den Speicher für Ihr Objekt zuweisen, dann alle Felder initialisieren und dann Ihren Konstruktor aufrufen.

    
___ answer9567364 ___

Der Konstruktor wird aufgerufen, wenn ein neues Objekt erstellt wird.

%Vor%

Hoffe, das hilft.

    
___ answer18756429 ___

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):

  1. Variablen werden mit Standardwerten (ints mit 0, Zeichen mit u \ 0000 etc.)
  2. initialisiert
  3. Variablen werden mit expliziten Initialisierungswerten
  4. initialisiert
  5. wurde mit statischen Blöcken initialisiert
  6. -Konstruktoren werden
  7. genannt
___ qstnhdr ___ Wann wird der Konstruktor in Java aufgerufen? ___ answer9567363 ___

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.

    
___ answer9567380 ___

Gegeben diese Optionen, 1. Vor der Objekterstellung.

Nach Abschluss des Konstruktors wurde das Objekt erstellt.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ answer22698171 ___

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.

    
___ qstntxt ___

Wann wird der Konstruktor aufgerufen?

  1. Vor der Erstellung des Objekts.
  2. Während der Objekterstellung.
  3. Nach der Objekterstellung.
___ answer9567418 ___

Auf Bytecode-Ebene.

  1. Ein Objekt wird erstellt, aber nicht initialisiert.
  2. Der Konstruktor wird aufgerufen und übergibt das Objekt als %code%
  3. Das Objekt ist vollständig konstruiert / erstellt, wenn der Konstruktor zurückkehrt.

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.

    
___
Thorn 05.03.2012 13:25
quelle
2

Die JVM wird zuerst den Speicher für Ihr Objekt zuweisen, dann alle Felder initialisieren und dann Ihren Konstruktor aufrufen.

    
Guillaume Polet 05.03.2012 13:25
quelle
1

Der Konstruktor wird aufgerufen, wenn ein neues Objekt erstellt wird.

%Vor%

Hoffe, das hilft.

    
Ocracoke 05.03.2012 13:22
quelle
1

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):

  1. Variablen werden mit Standardwerten (ints mit 0, Zeichen mit u \ 0000 etc.)
  2. initialisiert
  3. Variablen werden mit expliziten Initialisierungswerten
  4. initialisiert
  5. wurde mit statischen Blöcken initialisiert
  6. -Konstruktoren werden
  7. genannt
Sinchan Garai 12.09.2013 05:59
quelle
0

Konstruktor ist das, was praktisch ein Objekt erzeugt. Es wird aufgerufen, wenn das Objekt erstellt wird, indem new MyClass() (oder seine parametrisierte Version) ausgeführt wird.

    
AlexR 05.03.2012 13:22
quelle
0

Gegeben diese Optionen, 1. Vor der Objekterstellung.

Nach Abschluss des Konstruktors wurde das Objekt erstellt.

    
Bohemian 05.03.2012 13:23
quelle
-1

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.

    
user3066252 27.03.2014 20:09
quelle

Tags und Links