Crie uma classe Banco que possui uma List de Conta chamada contas. Repare que numa lista de Conta, você pode colocar tanto ContaCorrente quanto ContaPoupanca por causa do polimorfismo.
Crie um método void adiciona(Conta c), um método Conta pega(int x) e outro int pegaQuantidadeDeContas(), .
e qual é a duvida?
No caso o que ele quer te mostrar ai é a implementação de que, como ContaCorrente e ContaPoupança extende ou usam a mesma interface que se chama Conta. Neste caso você pode utilizar como parâmetro no método adiciona, Conta.
ou seja, void adiciona(Conta c){
// aqui você pode receber ContaCorrente ou ContaPoupança, pois os dois são do tipo Conta.
}
Assim você evita de verificar se eles são de outros tipos, como por exemplo, se o objeto que está entrando ali não é do tipo Gerente ou ADM. Portanto evitaria um trilhão de ifs.
com o domínio, você vai ver que o poder de poo, vai bem além disso e é essencial para ser um excelente programador.