Duda referencia de objetos java
Hola a todos, tengo una duda con relacion a como referenciar un objeto usando java, y para explicarme mejor les muestro este codigo:
class Clase1{
public void metodo(){
System.out.println("soy un metodo de la clase 1");
}
}
public class HolaMundo{
public static void main(String args[]){
Clase1 c1=new Clase1();
Clase1 c2;
c2=c1;
c2=null;
c1.metodo();
}
}
segun yo a c2 le asigno la referencia de c1, y si le ago cambios a c2 entonces se las haria a c1, pero no es asi, ¿como le puedo hacer para asignarle la referencia al objeto?.
De antemano les agradesco a todos y espero y puedan ayudarme.
saludos.
class Clase1{
public void metodo(){
System.out.println("soy un metodo de la clase 1");
}
}
public class HolaMundo{
public static void main(String args[]){
Clase1 c1=new Clase1();
Clase1 c2;
c2=c1;
c2=null;
c1.metodo();
}
}
segun yo a c2 le asigno la referencia de c1, y si le ago cambios a c2 entonces se las haria a c1, pero no es asi, ¿como le puedo hacer para asignarle la referencia al objeto?.
De antemano les agradesco a todos y espero y puedan ayudarme.
saludos.
Eso es por la liena c2=null , quitala y veras que si haces cambios en c2 , ocurren en c1 , y si no mira este ejemplo :
public class Referencia {
public int i;
public static void main(String args[])
{
Referencia rf1=new Referencia();
rf1.i=20;
System.out.println("I="+rf1.i);
Referencia rf2=rf1;
rf2.i=40;
System.out.println("I="+rf1.i);
}
}
Y saca en pantalla :
I=20
I=40
Espero que esto te ayude
Saludos
public class Referencia {
public int i;
public static void main(String args[])
{
Referencia rf1=new Referencia();
rf1.i=20;
System.out.println("I="+rf1.i);
Referencia rf2=rf1;
rf2.i=40;
System.out.println("I="+rf1.i);
}
}
Y saca en pantalla :
I=20
I=40
Espero que esto te ayude
Saludos
Hola,gracias por contestar tan rapitamente y por tomarte el tiempo en desarrollar un ejemplo,yo me imaginaba que por ejemplo, si a rf2 le asignaba null, tambien quedaria asignado para rf1 y entonces vendria el recolector para liberar recursos, pero acabo de leer que no es asi como actua, dado que rf1 aun queda apuntando a una direccion.porfavor corriganme si le entendi mal.
saludos
saludos