Item 40: Use a anotação Override com frequência

Item 40: Use a anotação Override com frequência

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.

Please follow and like us:
Pin Share