Il s'agit d'une annotation ajoutée dans Java 1.5. Il ne peut être utilisé que pour la déclaration de méthode pour indiquer qu'elle remplace une méthode de la classe parente. Le remplacement est possible sans l'annotation Remplacer. Alors pourquoi devrions-nous ajouter l'annotation Override? C'est cet article.
Supposons que vous ayez une classe parent comme celle-ci:
Parent.java
public class Parent {
private String something;
protected void setSomething(String something) {
this.something = something;
}
}
J'ai écrit le code suivant car j'avais besoin d'hériter de cette classe et de remplacer la méthode setSomething.
Child.java
public class Child extends Parent {
protected void setSomething(Integer something) {
System.out.println(something);
}
}
J'ai fait une erreur dans le type de l'argument, mais je ne peux pas remarquer l'erreur car il se compile normalement. Je ne pense pas qu'il soit vrai que la version sera publiée sans le remarquer telle quelle, mais il est possible que vous deveniez définitivement accro au test en tant que bogue inattendu. Et voici la raison de l'ajout de l'annotation Override. Si vous ajoutez l'annotation Override, l'EDI la détectera comme indiqué ci-dessous, afin que vous puissiez remarquer l'erreur et résoudre le problème à l'avance (bien sûr, le compilateur détectera également la compilation avec la commande javac).
De plus, si vous utilisez l'EDI, en fonction des paramètres, il est possible d'émettre un avertissement s'il existe une méthode qui remplace la méthode de la classe parente même si l'annotation Remplacer n'est pas attachée. En d'autres termes, vous pouvez toujours utiliser l'annotation Remplacer pour détecter les remplacements involontaires.
c'est tout.
Recommended Posts