1
resposta

SOBRECARGA DO EQUALS

Olá ! No vídeo o professor precisa fazer um cast para converter ref de Object para Conta:

@Override
    public boolean equals(Object ref) {
        Conta outra = (Conta) ref;

        if(this.agencia != outra.agencia) {
            return false;
        } 
        if(this.numero != outra.numero) {
            return false;
        }
        return true;

    }

Mas pq não podemos fazer uma reescrita do método equals e mudar o parâmetro(sobrecarga) ? Algo como:

@Override
    public boolean equals(Conta conta) {
        if(this.agencia != conta.agencia) {
            return false;
        } 
        if(this.numero != conta.numero) {
            return false;
        }

        return true;

    }
1 resposta

Olá! Acabei de finalizar a aula também rs e pelo o que eu entendi, o método quando reescrito, ele pode mudar suas funcionalidades dentro do método mas não pode alterar a assinatura (public boolean equals(Object obj)). Tanto que com "Conta" ele da erro no Override no meu IDE.

Você pode alterar o nome do método e colocar um parâmetro tipo Conta, mas ai já não estaria reescrevendo o método equals e acho que não caberia no exemplo trabalhado.

Pelo menos foi o que eu entendi rs