Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Cópia referência

Por que Internamente no Array de referência é criada uma cópia do valor da referência para armazenar?

3 respostas

Oi Yohanna

Em qual trecho de código você diz?

Não é um código especifico, o professor falou que toda vez que você cria um array e por exemplo boto um array com 5 espaços fixos, ai então eu quero guardar uma referência a um objeto nesse Array, ao invés de guardar a referência ele guarda a cópia da referência.

ContaCorrente[] contas = new ContaCorrentes[5];
ContaCorrente cc1 = new ContaCorrente(22,11); // <- original
contas[0] = cc1; // <-- cópia

No final serão 2 referências para o mesmo objeto, mas pq?

solução!

Oi Yohanna

Na verdade assim, cc1 é uma variável de referência que aponta para um Objeto ContaCorrente. O fato é que você está armazenando no array o mesmo endereço de memória que aponta para o mesmo ContaCorrente. Se você mexer em cc1 ou mexer em contas[0] você vai alterar o mesmo objeto ContaCorrente.