aus den Java-Tutorials auf annotations:
@Override
- die @Override
Anmerkung die Compiler darüber informiert, dass das Element gemeint ist, in einer Oberklasse (zwingende Methoden ein Element erklärte außer Kraft zu setzen diskutiert in der Lektion mit dem Titel "Schnittstellen und Vererbung").
// mark method as a superclass method
// that has been overridden
@Override
int overriddenMethod() { }
Während es nicht ist erforderlich, um diese Anmerkung zu verwenden, wenn eine Methode überschrieben, es hilft, Fehler zu vermeiden. Wenn eine -Methode, die mit @Override
nicht markiert ist, eine Methode in einer der Klassen korrekt außer Kraft setzt, generiert der Compiler einen Fehler.
Werfen wir einen Blick auf das Beispiel, das in den Java-Sprachspezifikationen 9.6.1.4 Override angegeben ist. Angenommen, Sie haben eine Methode außer Kraft setzen möchten, equals
in diesem Fall, aber Sie schrieb:
public boolean equals(Foo that) { ... }
statt:
public boolean equals(Object that) { ... }
Während dieser Code legal ist, mit @Override
die equals
Methodendeklaration mit Anmerkungen versehen auslösen würde ein Fehler bei der Kompilierung, weil Sie ihn nicht überschreiben, sondern überladen. Dies kann unangenehme Fehler verursachen und der Annotationstyp Override
hilft bei der frühzeitigen Erkennung.
Duplizieren: http://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why –