programming - this java constructor
¿Qué hace la JVM cuando el operador ''nuevo'' inicializa la memoria usando el constructor? (1)
new
operador en realidad no usa la ayuda del constructor para asignar memoria. No tiene nada que ver con el constructor. Básicamente, la versión de Java de malloc
es new
.
new
operador:
- asigna memoria para un objeto
- invoca al constructor de objetos
- devuelve referencia a esa memoria
El constructor se ejecuta por separado para realizar cualquier operación durante la inicialización, como la asignación de valores a objetos y variables. Si no se define Constructor, el compilador creará el constructor predeterminado y asignará los valores predeterminados:
El siguiente cuadro resume los valores predeterminados para varios tipos de datos. fuente
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
Entonces, el new
operador solo asigna memoria y devuelve referencia a esa memoria.
Ver la documentación :
El nuevo operador instancia una clase asignando memoria para un nuevo objeto y devolviendo una referencia a esa memoria. El nuevo operador también invoca el constructor del objeto.
RealEstate v = new RealEstate();
He usado esta new
palabra clave con RealEstate()
. Sé que new
asigna memoria e inicializa la memoria usando el constructor de la clase RealEstate
.
¿Qué está haciendo JVM aquí?