Somente por curiosidade, fazer o cast dentro do "For simplificado" não é possível, correto? Saberiam me dizer se em nenhum caso isto é possível?
Segue abaixo o código da minha tentiva.
import java.util.ArrayList;
import br.com.bytebank.banco.modelo.Conta;
import br.com.bytebank.banco.modelo.ContaCorrente;
import br.com.bytebank.banco.modelo.ContaPoupanca;
public class TesteArrayList {
public static void main(String[] args) {
ArrayList lista = new ArrayList();
ContaCorrente cc1 = new ContaCorrente(123, 321);
ContaPoupanca cp1 = new ContaPoupanca(555, 177);
ContaCorrente cc2 = new ContaCorrente(999, 222);
ContaPoupanca cp2 = new ContaPoupanca();
lista.add(cc1);
lista.add(cp1);
lista.add(cc2);
lista.add(cp2);
for(Conta obj : (Conta) lista) {
System.out.println(obj);
}
ContaCorrente conta = (ContaCorrente) lista.get(0);
}
}