Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Retorno do método Override

Olá pessoal, tudo bem? Meu primeiro post no fórum.

Estou com a seguinte dúvida quando utilizamos o Override: obrigatoriamente o tipo da saída do método reescrito (boolean) vai ser do mesmo tipo que a da super classe (boolean tambem)? Ou existem casos que podem ser diferentes tambem? (Na minha primeira tentativa de escrita, havia colocar a saida do método Saca reescrito como Double)

public boolean saca(double valor) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
            return true;
        } else {
            return false;
        }
    }
@Override
    public boolean saca(double valor) {
        double valorASacar;
        valorASacar = valor + 0.2;
        return super.saca(valorASacar);
    }
1 resposta
solução!

Boa noite Alexandre!

Quando você usa a anotação @Override significa que a assinatura do método (nome do método), parâmetros e o tipo de retorno devem ser iguais a o método que você definiu na superclasse (classe mãe).

O Java permite criar métodos com o mesmo nome mas é preciso ter a quantidade e ordem de parâmetros diferentes. Isso é chamado de sobrecarga de método, exemplo:

public boolean saca(double valor) {
        double valorASacar;
        valorASacar = valor + 0.2;
        return super.saca(valorASacar);
    }
public boolean saca(double valor, double valor2) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
            return true;
        } else {
            return false;
        }
    }
public boolean saca(double valor, String titular) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
            return true;
        } else {
            return false;
        }
    }

Espero que tenha ajudado! Bons estudos!