/ / ¿Por qué la ventaja en una variable de clase hace referencia a un objeto? En lugar de almacenar el objeto en sí: java, objeto, referencia, variables de clase

¿Por qué la ventaja en una variable de clase se refiere a un objeto? en lugar de almacenar el objeto en sí: java, object, reference, class-variables

Me preguntaba cuál sería la ventaja de que una variable de clase almacene una referencia a un objeto en lugar de almacenar el objeto directamente en su ubicación de memoria.

¿Tiene que ver con problemas de memoria o es un problema de seguridad?

Traté de mirar alrededor, no pude encontrar esta pregunta.

Gracias.

Respuestas

4 para la respuesta № 1

Java almacena el Objeto en la memoria del montón, pero desde el código necesitamos acceder a ese Objeto usando algún manejador, y así es la referencia

Además, cuando GCing cuando no hay un objeto de referencia activo ya no es necesario y estará listo para GC


2 para la respuesta № 2

Es más acerca de la memoria, mientras que al copiar o pasar el objeto a la función, no necesita crear / copiar un objeto que acaba de copiar como referencia.

Por ejemplo:

Class1 a = new Class1();
Class1 b = a;

Si no almacena referencias, en ese caso deberá crear otro Objeto para b que cause duplicidad.

En segundo lugar,

public void(Class1 obj){
//Some operation to Object
}

Si pasa todo el Objeto en lugar de la referencia, nuevamente necesitará memoria para contener el Objeto copiado.


1 para la respuesta № 3

Si no tuviera referencias, sería imposible implementar la mayoría de las estructuras de datos. Considere las listas doblemente enlazadas, o un árbol donde los nodos contengan enlaces principales.