package testeJavaUtil;
public class Main {
public static void main(String[] args) {
Conta conta[] = new Conta[2];
for(int i=0;i<conta.length;i++)
{
Conta contaPessoal = new Conta();
if(i==0) {
contaPessoal.setNomeDaPessoa("Ola mundo");
}else {
contaPessoal.setNomeDaPessoa("Mundo ola");
}
conta[i]=contaPessoal;
System.out.println(conta[i].getNomeDaPessoa());
}
}
}
Estou com dúvida a respeito do array do tipo object conta[], se cada posição de um array do tipo object é uma referência para o objeto contaPessoal. Cada vez que array mudar a posição a contaPessoal não seria sobrescrita e logo a saída não seria as duas iguais (por causa do conteúdo na memória)? A saída gerou "Ola mundo" na posição conta[0] e "Mundo ola" na posição conta[1]. Por que isso acontece? O que acontece no espaço de memória alocado com a variável contaPessoal?