Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando crio o objeto, conto como referencia

Quando eu faço a criação do objeto eu conto ele como uma referencia também ?

1 resposta
solução!

Não, ao criar um objeto, ou seja, efetuar o new Objeto(), você está alocando um espaço para ele em memória, mas não necessariamente você vai ter uma referencia dele.

A partir do momento que você tem a seguinte expressão:

MeuObjeto obj = new MeuObjeto();

Você está criando uma referência para esse espaço alocado em memória, que é o obj.

Com base no seu exercício você tem 4 referências à agencia de número 33 e 44.

A primeira é a inicialização de um objeto em memória já apontando para uma referencia:

ContaPoupanca cp2 = new ContaPoupanca(33,44);

O new ContaPoupanca(33,44) não é uma referência, mas sim o objeto inicializado em memória, o ContaPoupanca cp2 é a referencia que aponta para esse objeto em memória.

Ao criar um array de ContaPoupanca com 10 espaços, não necessáriamente você estará criando 10 ContaPoupanca, está apenas apontando que dentro daquele array existem 10 slots para objetos do tipo ContaPoupanca.

Então, ao definir:

contas[4] = cp2;
contas[5] = cp2;

É certo afirmar que no array de ContaPoupanca os slots 4 e 5 foram ambos preenchidos pela mesma referência que aponta para o objeto ContaPoupanca(33,44), logo, se tornando também referência desse mesmo objeto.

Por fim, você tem o ref2 que aponta para este mesmo objeto, que implicitamente se torna uma referência.

Note que ao acessar todas as referências, eles estão apontando para o mesmo objeto em memoria, não criando novos.