Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 2 da Aula 2 - A IDE Eclipse

Na classe 'ContaCorrente', quando eu utilizei o autocomplete para reescrever o método 'atualiza', o Eclipse autocompletou com o seguinte código:

@Override public void atualiza(double taxa) { // TODO Auto-generated method stub super.atualiza(taxa); }

Preciso colocar o '@Override'? E o 'super.atualiza(taxa)' significa somente que estou chamando o método da classe pai, correto? Qual a vantagem de colocar ou não o '@Override'?

2 respostas
solução!

Olá Luís Gustavo..

Respondendo suas perguntas:

-Preciso colocar o @Override?

O @Override é opcional, não é necessário. No entanto, é sempre bom coloca-lo para identificar que tal método está sendo sobrescrito. Também é sempre bom utiliza-lo pois ele nos ajuda também na hora de sobrescrever um método. Exemplo:

Qual o problema com o método abaixo desta classe?

public class Pessoa {
    private String nome;

    public String tostring() {
        return "nome: " + this.nome ;
    }
}

Perceba que queríamos sobrescrever o método toString, mas por deslize acabamos escrevendo o método errado, foi escrito tostring. Caso colocássemos o @Override, o Eclipse nos mostraria um erro, afirmando que o método que escrevemos não está sobrescrevendo nenhum outro, então, não poderiamos compilar. Logo o @Override acabou nos ajudando a identificar o erro que cometemos ao escrever tostring(). Então conselho a sempre procurar usar o @Override.

  • E o 'super.atualiza(taxa)' significa somente que estou chamando o método da classe pai, correto?

Sim, você está chamando o método da superclasse a qual sua classe pertence.

Excelente, Romário! Obrigado!