Es ist ein Hinweis für den Compiler, dass er die Methode einer übergeordneten Klasse (oder Schnittstelle in Java 6) überschreibt.
Wenn der Compiler feststellt, dass keine zu überschreibende Funktion vorhanden ist, werden Sie gewarnt (oder es wird ein Fehler angezeigt).
Dies ist äußerst nützlich, um Tippfehler oder API-Änderungen schnell zu identifizieren. Angenommen, Sie versuchen, die Methode Ihrer Elternklasse zu überschreiben harvest()
, buchstabieren sie jedoch harvset()
. Ihr Programm ruft die Basisklasse stillschweigend auf, und ohne @Override
sie hätten Sie keine Warnung.
Wenn Sie eine Bibliothek verwenden und in Version 2 der Bibliothek harvest()
so geändert wurden, dass sie einen ganzzahligen Parameter verwendet, wird dieser ebenfalls nicht mehr überschrieben. Wieder @Override
würde ich Ihnen schnell sagen.
Diese Funktion wird als Anmerkung bezeichnet.
@Override
ist die Syntax der Verwendung einer Annotation, um den Compiler wissen zu lassen: "Hey Compiler, ich ändere, was die Ernte in der übergeordneten Klasse macht", dann kann der Compiler sofort sagen: "Alter, du benennst sie falsch". Der Compiler wird erst kompiliert, wenn Sie ihn richtig benannt haben.Ohne diese
@Override
Anmerkung wird der Compiler also keine Fehler machen und als neue Methodendeklaration betrachtet. Es wäre schwierig, den Fehler an dieser Stelle zu erkennen.quelle
@Override
, Alter :)@Override
bedeutet, dass Sie die Basisklassenmethode überschreiben. In Java6 bedeutet dies auch, dass Sie eine Methode über eine Schnittstelle implementieren. Es schützt Sie vor Tippfehlern, wenn Sie glauben, eine Methode zu überschreiben, aber etwas falsch geschrieben haben.quelle