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

Como a JVM se comporta quando fazermos Object o = new ContaCorrente()?

Como eu aprendi com vocês, quando utilizamos o operador new estamos criando uma referência para um objeto localizado na memória Heap.

Quando instanciamos um objeto de forma tradicional, como:

    ContaCorrente cc = new ContaCorrente();

A nossa referência cc aponta para o objeto de ContaCorrente.

Mas no exemplo do instrutor, ele cria o seguinte código:

    Object c = new ContaCorrente();

Nesse caso, a nossa referência não continua apontando para o mesmo objeto de ContaCorrente? Se for esse o caso, porque só aparecem os métodos da classe Object e não de ContaCorrente?

1 resposta
solução!

Olá Luís, tudo bem com você?

Isso acontece porque antes de executarmos o nosso programa, o Java só enxerga o tipo da referencia e não o objeto que de fato está sendo referenciado.

Pense no tipo da referencia como um controle remoto para o objeto. Nele, nós temos vários botões, cada um com uma determinada função - ou método. Além disso, podemos trocar de controle dependendo das nossas necessidades sem nunca, de fato, tocar no objeto o qual estamos apontando.

Fez sentido? Se ficou alguma dúvida é só avisar!

Forte abraço e bons estudos!!