Pour tirer parti de la vérification du compilateur, vous devez toujours utiliser l'annotation Override. Mais n'oubliez pas que Java Compiler 1.5 n'autorisera pas cette annotation lors du remplacement des méthodes d'interface. Vous pouvez simplement l'utiliser pour remplacer les méthodes de classe (abstraites ou non).
Certains IDE, comme Eclipse, même configurés avec le runtime Java 1.6 ou supérieur, ils maintiennent la conformité avec Java 1.5 et ne permettent pas l'utilisation de @override comme décrit ci-dessus. Pour éviter ce comportement, vous devez aller dans: Propriétés du projet -> Compilateur Java -> Cochez «Activer les paramètres spécifiques au projet» -> Choisissez «Niveau de conformité du compilateur» = 6.0 ou supérieur.
J'aime utiliser cette annotation chaque fois que je remplace une méthode indépendamment, si la base est une interface ou une classe.
Cela vous aide à éviter certaines erreurs typiques, comme lorsque vous pensez que vous remplacez un gestionnaire d'événements et que vous ne voyez rien se produire. Imaginez que vous souhaitez ajouter un écouteur d'événements à un composant de l'interface utilisateur:
someUIComponent.addMouseListener(new MouseAdapter(){
public void mouseEntered() {
...do something...
}
});
Le code ci-dessus se compile et s'exécute, mais si vous déplacez la souris à l'intérieur de someUIComponent, le code «faire quelque chose» notera l'exécution, car en réalité vous ne remplacez pas la méthode de base mouseEntered(MouseEvent ev)
. Vous venez de créer une nouvelle méthode sans paramètre mouseEntered()
. Au lieu de ce code, si vous avez utilisé l' @Override
annotation, vous avez vu une erreur de compilation et vous n'avez pas perdu de temps à vous demander pourquoi votre gestionnaire d'événements ne s'exécutait pas.