Problema con punteros en Java
Antes que me digan que Java no usa punteros, no son punteros explicitamente, si no referencias a objetos en la memoria para crear estructuras de datos.
Mi duda es la siguiete:
En este programa...
nodo a = new nodo();
nodo b = new nodo();
y la clase nodo:
class nodo{
int dato;
nodo liga=null;
}
Al declarar ambos nuevos objetos se imprimen con los valores por defecto como liga = null y su localizacion en memoria totalmente distinta. Pero al modificar algun valor como:
a.dato = 15;
Entonces b.dato tambien es modificado, de alguna forma el compilador iguala las dos referencias al mismo objeto. Alguien sabe porque pasa eso?
Mi duda es la siguiete:
En este programa...
nodo a = new nodo();
nodo b = new nodo();
y la clase nodo:
class nodo{
int dato;
nodo liga=null;
}
Al declarar ambos nuevos objetos se imprimen con los valores por defecto como liga = null y su localizacion en memoria totalmente distinta. Pero al modificar algun valor como:
a.dato = 15;
Entonces b.dato tambien es modificado, de alguna forma el compilador iguala las dos referencias al mismo objeto. Alguien sabe porque pasa eso?