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

Uma dúvida

O Polimorfismo seria as várias formas de chegar a um objeto. Já o casting é só a tranformação de um tipo mais genérico para um mais específico ? É isto?

2 respostas
solução!

Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse.

Casting é atribuir o valor de um tipo de variável a outro tipo de variável.

São situações distintas. numa, você muda o comportamento do método. noutra, você trabalha somente com o valor da variável. No casting, por ex, é possível fazer conversões de tipos de ponto flutuante para inteiros, e inclusive entre o tipo caractere, porém estas conversões podem ocasionar a perda de valores, quando se molda um tipo de maior tamanho, como um double dentro de um int.

O Casting aqui no caso foi utilizado para indicar ao compilador que a referência contas[1] está relacionada a uma ContaPoupanca, o que funciona, desde que seja verdade, caso contrário gera uma exceção do tipo java.lang.ClassCastException.