new
Der Operator verwendet nicht die Hilfe vom Konstruktor, um Speicher zuzuordnen. Es hat nichts mit Konstrukteur zu tun. Basically Java's version of malloc
is new
.
new
Betreiber:
- weist Speicher für ein Objekt
- Invokes Konstruktor Objekt
- kehrt Verweis auf diesen Speicher
Constructor separat ausgeführt wird, um alle Operationen während der Initialisierung durchzuführen, wie das Zuordnen von Werten zu Objekten und Variablen. Wenn kein Konstruktor definiert ist, dann wird Compiler Standardkonstruktors erstellen und Standardwerte zuweisen:
Die folgende Tabelle fasst die Standardwerte für verschiedene Datentypen. source
Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String null
any object null
boolean false
So ordnet new
Operator nur Speicher und kehrt in dieser Speicherreferenz.
Siehe documentation:
Der neue Operator instanziiert eine Klasse von Speicher für ein neues Objekt Zuweisung und einen Verweis auf diesen Speicher zurückkehrt. Der neue Operator ruft auch den Objektkonstruktor auf.
Ich habe nicht das Gefühl, dass diese Frage 6 Downvotes haben sollte, wahrscheinlich haben Downvoters nicht verstanden, was das OP wirklich gefragt hat. Hoffentlich kämpften 6 User gegen die Downvotes. –
yep genau @ Jean-FrançoisSavard –
Ihre Frage enthält eine eigene Antwort. Unklar, was du verlangst. – EJP