Importância da Anotação @override*
- A anotação @override é uma das mais importantes para programadores Java.
- Usada nas declarações de método para indicar que o método sobrescreve uma declaração em um supertipo.
- Protege contra bugs ao garantir que métodos sejam corretamente sobrescritos.
Problema com Sobrecarga vs. Sobrescrita
- Exemplo de código com problema Erro: O método equals está sobrecarregado em vez de sobrescrito. Para sobrescrever, o parâmetro deve ser do tipo Object. Ver Bigram.java
Correção com @override
- Código corrigido: ver Bigram.java
Resultado: O compilador alertará se houver erros na sobrescrita, ajudando a corrigir problemas de sobrecarga acidental.
Uso em Classes e Interfaces
Use @override para métodos que sobrescrevem métodos em superclasses e superinterfaces.
Exemplo em interface:
public interface Set<E> extends Collection<E> {
@Override boolean add(E e); // Sobrescreve o método add de Collection
}
Vantagens em IDEs
- IDEs podem gerar avisos se um método sobrescrevendo outro não estiver anotado com @override.
- Ajuda a evitar sobrescritas involuntárias e sobrecargas acidentais.
Exceções à Regra
- Em classes concretas que sobrescrevem métodos abstratos de superclasses, o compilador emitirá um erro se não houver sobrescrita correta, então a anotação não é estritamente necessária, mas ainda pode ser útil.
Resumo
- Sempre use a anotação @override para indicar métodos que sobrescrevem declarações em supertipos.
- Ajuda a evitar erros comuns e facilita a manutenção do código.
- Mesmo em casos onde não é estritamente necessário, como métodos abstratos em classes concretas, o uso de @override é uma boa prática.
Exemplo Final
Classe concreta com métodos anotados:
ver ConcreteClass.java
Interface com métodos anotados:
Essa abordagem de usar @override frequentemente protege contra bugs, facilita a manutenção e melhora a clareza do código.
Top comments (0)