Définition exacte de @Override
Salut,
L'annotation @Override doit être utilisée lorsqu'une méthode redéfinit la méthode de la superclasse, par exemple :
Code:
@Override public boolean equals(Object other) {...}
Par contre, qu'en est-il lorsqu'une classe implémente une interface? Est-ce que la sémantique de @Override indique que la méthode est "overridée" (on peut considérer que oui, car par exemple la javadoc de la méthode dans l'interface est héritée).
Citation:
Envoyé par Javadoc
Indicates that a method declaration is intended to override a method declaration in a superclass.
Donc a priori ça devrait être utilisé aussi pour l'implémentation...
Pour information, @Override génère une erreur dans ce cas (pour les méthodes implémentées d'une interface) dans Java 5, mais pas dans Java 6...