Na atividade mão na massa deste módulo no passo 4 temos o seguinte:
4 - Experimente agora acessar o elemento na posição contas[1]. Como em tempo de execução ele é do tipo ContaPoupanca, o cast não funcionará e um exceção será lançada no console.
No caso eu não entendi como simular esse erro, pois nos testes que eu fiz aqui não deu nenhum erro. Seria esse o caminho para testar?
package br.com.bytebank.teste;
import br.com.bytebank.modelo.Conta;
import br.com.bytebank.modelo.ContaCorrente;
import br.com.bytebank.modelo.ContaPoupanca;
public class TesteArrayReferencias {
public static void main(String[] args) {
Conta[] contas = new Conta[5];
ContaCorrente cc1 = new ContaCorrente(22, 11);
contas[0] = cc1;
ContaPoupanca cc2 = new ContaPoupanca(22, 22);
contas[1] = cc2;
System.out.println(contas[0].getNumero());
System.out.println(contas[1].getNumero());
ContaCorrente ref = (ContaCorrente) contas[0];
//Deveria dar erro aqui?
System.out.println(contas[1].getNumero());
System.out.println(cc2.getNumero());
System.out.println(ref.getNumero());
}
}