Pessoal, surgiu uma dúvida. No curso anterior o instrutor ensina a usar classes abstratas, logo eu passei a aplicar tais conhecimentos usando-o na classe Conta
por exemplo, já nesse curso que estou fazendo agora o instrutor regrediu e passou a usar tal classe como não abstrata fazendo casting dela para sobrescrever o método equals
. A questão é, como faço para sobrescrever tal método usando as classes ContaCorrente
e ContaPoupanca
?
Segue o que tentei fazer fazer.
@Override
public boolean equals(Object object) {
ContaCorrente corrente = (ContaCorrente) object;
ContaPoupanca poupanca = (ContaPoupanca) object;
if (this.saldo == poupanca.saldo || this.saldo == corrente.saldo) {
return true;
} else {
return false;
}
}
Porém, retornou uma Exception ClassCastException
.
Teste feito na classe main.
ContaCorrente contaCorrente = new ContaCorrente(500.0);
ContaPoupanca contaPoupanca = new ContaPoupanca(500);
if (contaCorrente.equals(contaPoupanca)) {
System.out.println("Conta iguais!");
} else {
System.out.println("Conta diferentes!");
}