Java - por que aqui sale el nombre de pedro cuando son dos variables diferentes

 
Vista:
Imágen de perfil de Sandro
Val: 392
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

por que aqui sale el nombre de pedro cuando son dos variables diferentes

Publicado por Sandro (166 intervenciones) el 23/10/2020 22:28:48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class	clases																						{
	String		nombre	=	null;
	int			numero	=	0;
}
class	patrono																						{
	public	static	void	main	(	String	[] args)	{
		clases		juan	=	new	clases()	;
		clases		pedro	=	new	clases()	;
		juan.nombre=	"juan";
		juan.numero=46;
		pedro=juan;
 		pedro.nombre="pedro";
		System.out.println(	"mi nombre juan es:" + juan.nombre +	" "	pedro.nombre	)	;
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

por que aqui sale el nombre de pedro cuando son dos variables diferentes

Publicado por Rodrigo (623 intervenciones) el 23/10/2020 23:16:24
Son referencias.
Las referencias es como tener un papel en que sale la direccion de tu casa o la de alguien mas. No es la casa, es la direccion de la casa.

2 variables distintas solo guardan referencias (direcciones de casa). no guardan la casa misma.

Cuando en tu linea 11 asignas una referencia a la otra, estas copiando en el papel de una lo que contiene el papel de la otra, osea copias la direccion que contiene la otra referencia.

Cuando imprimes, usas el operador "."
El operador "." resuelve las referencias, o sea si tu papel indica una direccion, el operador "." va a esa direccion y recupera lo que alli haya.

2 papeles con la misma direccion, iran y veran lo mismo.

Al inicio, en las lineas 7 y 8, las variables tenian distintas referencias, sus papeles decian distintas direcciones, pero en la linea 11, copiaste la referencia y las convertiste en 1 sola.

La indentacion me hizo pensar que no habias escrito las llaves de inicio de la definicion de clases.
Sugiero no uses mas esta manera de indentar tus programas, no se ven bien.
O usalas para ti no mas.

En la linea 13 parece faltar un signo +
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Sandro
Val: 392
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

por que aqui sale el nombre de pedro cuando son dos variables diferentes

Publicado por Sandro (166 intervenciones) el 24/10/2020 01:47:25
yo penes que era cajas, con la misma estructura, pero en diferentes cajas.

en la linea 11 yo creí que pasabas los valores, no las referencias

entonces para que sean cajas como lo tendrías que haces, sin tener que definir la estructura una por una


si en lugar de pasar en la linea 11 toda la caja solamente pasarías

pedro.nombre = juan.nombre;

esto seria diferente, entonces el valor de juan.nombre seria diferente el nombre pedro.nombre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar