Me surgiu uma dúvida durante esta aula...
Podemos criar vários métodos com o mesmo nome, porém, com parâmetros diferentes.
Então por qual motivo precisamos fazer um cast? Não era mais fácil apenas fazer um método recebendo como parâmetro um objeto do tipo Conta? Dessa forma, se viesse outro tipo de dado... o equals da classe pai iria realizar o tratamento e não precisaríamos fazer o cast, certo?
Código da aula:
@Override
public boolean equals(Object ref) {
Conta outra = (Conta) ref;
...
}
Sugestão:
@Override
public boolean equals(Conta ref) {
...
}