Creando objetos - 1

"Hola, es tu maestro favorito otra vez. Como estás progresando tanto, he decidido hablarte sobre los objetos y cómo trabajar con ellos".

" Para crear un objeto, debe escribir la palabra clave 'nuevo' seguida de su nombre de tipo (nombre de clase). Por ejemplo, supongamos que tenemos una clase llamada 'Gato':"

Código Descripción
Cat cat;
Declara una variable de referencia Cat denominada cat. El valor de la variable cat es nulo.
new Cat();
Crea un objeto Gato.
Cat cat = new Cat();
Crea una variable de referencia Cat denominada cat.
Crea un nuevo objeto Gato. Asigna una referencia al objeto recién creado a la variable cat.
Cat kitty = new Cat();
Cat smokey = new Cat();
Se crean dos objetos. Las referencias a ellos se asignan a dos variables diferentes.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
Se crean dos objetos. Las referencias a ellos se asignan a dos variables diferentes.

Luego establecemos la variable smokey igual a una referencia al objeto al que hace referencia la variable kitty. Ambas variables ahora se refieren a los primeros objetos creados.
(Debido a que ya no se hace referencia al segundo objeto en ninguna parte, ahora se considera basura)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
Se crea un objeto Gato y se le asigna una referencia a la primera variable (gatito). La segunda variable (smokey) almacena una referencia vacía (nula).

Ambas variables se refieren al mismo objeto.

Ahora solo smokey, pero no kitty, se refiere a un objeto.

"¿Qué pasaría si creamos un objeto y no guardamos una referencia en ninguna variable?"

"Si simplemente creamos un objeto sin asignarlo a una variable, la máquina Java lo creará y luego lo declarará basura (un objeto no utilizado). Después de un tiempo, el objeto se eliminará durante la recolección de basura " .

"¿Cómo me deshago de un objeto que ya no necesito?"

"No lo haces. Tan pronto como ninguna variable se refiera a un objeto, se etiqueta como basura y la máquina Java lo destruye la próxima vez que recolecta basura " .

Siempre que haya al menos una referencia a un objeto, se considera activo y no se destruirá. Si desea deshacerse de un objeto antes, puede borrar todas las referencias a él asignando un valor nulo a todas las variables que hacen referencia a él.

"Ya veo. Comparado con las últimas lecciones, esto parece bastante simple".

"Diego ha estado despierto toda la noche pensando en tareas para ti. Hizo este esfuerzo especial solo para ti. Tiene un gran sentido del humor, ¿sabes?"


Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.