Ao Receber um "Object" na função "equals()", entendo que ficamos expostos a ClassCastException sendo que podemos receber objetos incapazes de ser "Castados"
Deveria eu, ao implementar algo do gênero, fazer o seguinte código?
public boolean equals(Object ref) {
Conta c;
try {
c = (Conta) ref;
} catch (ClassCastException e) {
// Garante que o programa não trave e que oustras class não filhas de conta já retornem false
return false;
}
// Garante que conta poupança não seja tratada como corrente
if (this.getClass() == c.getClass()) {
if (this.getAgencia() == c.getAgencia() && this.getNumero() == c.getNumero()) {
return true;
}
}
return false;