Devrais-je mettre la balise @Override si j'implémente une méthode d'interface? Je sais que la balise @Override devrait être là quand vous surchargez une méthode de super classe (pas une interface). Mais qu'en est-il de la mise en œuvre d'une méthode d'interface?Dois-je utiliser la balise @Override lors de l'implémentation d'une méthode d'interface?
Répondre
Eh bien, yes:
Vous devriez @Override utiliser chaque fois que possible . Il empêche les erreurs simples d'être faites. Exemple:
@Override public boolean equals(MyObject mObj){ // code ... }
Cela ne compile pas parce qu'il ne pas correctement surchargent equals.
ira de même pour les méthodes qui implémentent une interface (1.6 et au-dessus uniquement) ou remplacez la méthode d'une classe super.
Mais comment viennent NetBeans IDE (et maintenant l'éclipse Helios) se plaint quand je fais quelque chose comme: nouveau Comparator
@dolaa, quelle version de java utilisez-vous? 1.5 ne permet pas l'implémentation de l'interface d'annotation comme ceci. – jjnguy
Mais, vous devriez certainement le faire si vous utilisez 1.6 – jjnguy
double possible - http://stackoverflow.com/questions/212614/should-a-method-that-implements-an-interface-method-be-annotated-with-override/212624#212624 – jjnguy