Olá à todos,
Primeiramente peço desculpas pelo título confuso, esta é a minha primeira postagem no fórum e sou um iniciante em programação, logo quaisquer dicas de boas práticas tanto de postagem quanto de programação serão muito bem vindas!
Bom, seguindo ao problema, de fato eu não sei como resumir em um título a dúvida que tenho, pois eu tenho o seguinte código:
public class TesteArvore {
public static void main(String[] args) {
Arvore v1 = new Arvore();
System.out.println(v1.getNome());
v1.setNome(“Macieira”);
Arvore v2 = new Arvore();
v2.setNome(“Laranjeira”);
teste1(v1, v2);
System.out.println("valor v1: " + v1.getNome());
System.out.println("valor v2: " + v2.getNome());
}
public static void teste1(Arvore v1, Arvore v2) {
v1.setNome(“Acacia”);
v1=v2;
v1.setNome(“Eucalipto”);
v2=v1;
}}
Especificamente me refiro à função teste1(Arvore v1, Arvore v2):
v1.setNome(“Acacia”);
v1=v2;
v1.setNome(“Eucalipto”);
v2=v1;
Na primeira parte do código eu sigo o seguinte passo a passo:
Cria instancia v1
faz 1º Syso que sai "null"
v1.setNome(“Macieira”)
Cria instancia v2
v2.setNome(“Laranjeira”)
Até ai tudo certo, v1 se chama macieira e v2 laranjeira, agora no teste em si eu não consigo decifrar o que acontece quando v1=v2, pois não importa quanto eu refaça, meu raciocínio chega a conclusão que ambas as arvores deveriam se chamar eucalipto.
v1.setNome(“acacia”) // aqui v1 se chama acacia
v1=v2 //pelo que eu entendi aqui v1 recebe todo o objeto v2 e
passa a se chamar laranjeira
v1.setNome(“eucalipto”) // e aqui o nome de v1 passa a ser eucalipto
v2=v1 //Por fim v2 recebe todo o objeto v1
Nesse momento ambos deveriam se chamar eucalipto, pela lógica que segui até aqui, porém ao rodar o programa o console demonstra os seguintes valores finais:
null
valor v1: Acacia
valor v2: Eucalipto
Será que alguém pode me iluminar nessa questão e mostrar o que eu estou perdendo aqui? Desde já agradeço qualquer ajuda e novamente peço desculpas por quaisquer erros de principiante que possam haver, reitero que esta é minha primeira postagem, então sejam compreensivos!