Was bedeutet @Override?

Lesezeit: 2 Minuten

Benutzer-Avatar
Woong-Sup Jung

public class NaiveAlien extends Alien
{

    @Override
    public void harvest(){}

}

Ich habe versucht, den Code meines Freundes zu verstehen, und ich bekomme die Syntax @Override im Code nicht. Was macht das und warum brauchen wir Codierung? Vielen Dank.

Es ist ein Hinweis für den Compiler, um ihm mitzuteilen, dass Sie die Methode einer übergeordneten Klasse (oder Schnittstelle in Java 6) überschreiben.

Wenn der Compiler feststellt, dass es keine zu überschreibende Funktion gibt, wird er Sie warnen (oder einen Fehler melden).

Dies ist äußerst nützlich, um Tippfehler oder API-Änderungen schnell zu erkennen. Angenommen, Sie versuchen, die Methode Ihrer übergeordneten Klasse zu überschreiben harvest() aber buchstabiere es harvset()ruft Ihr Programm die Basisklasse stillschweigend auf, und ohne @OverrideSie hätten keine Warnung davor.

Wenn Sie eine Bibliothek verwenden, und in Version 2 der Bibliothek, harvest() geändert wurde, um einen Integer-Parameter anzunehmen, würden Sie ihn nicht mehr überschreiben. Wieder, @Override würde es dir schnell sagen.

  • Beachten Sie, dass @Override nur für öffentliche und geschützte Funktionen funktioniert.

    – MrMas

    9. Mai 2013 um 16:01 Uhr


  • Auch das sollte erwähnt werden mehrere Anmerkungen sind ebenfalls möglich und auch anderer Code kann damit hinzugefügt werden. Zum Beispiel beim Überprüfen von Berechtigungen in Android M-Apps, wie es in der getan wird BerechtigungenDispatcher.

    – not2qubit

    18. Januar 2017 um 10:00 Uhr

Benutzer-Avatar
Nitin1706

Diese Funktion wird als Anmerkung bezeichnet. @Override ist die Syntax der Verwendung einer Anmerkung, um den Compiler wissen zu lassen: “Hey Compiler, ich ändere, was Harvest in der übergeordneten Klasse tut”, dann kann der Compiler sofort sagen: “Alter, du benennst es falsch”. Der Compiler wird nicht kompiliert, bis Sie ihn richtig benennen.

Also ohne das @Override Anmerkung, der Compiler wird keinen Fehler machen und es wird als neue Methodendeklaration betrachtet. Es wäre schwierig, den Fehler an dieser Stelle zu erkennen.

  • Groß- und Kleinschreibung ist wichtig, wir reden darüber @OverrideAlter 🙂

    – Datenfiddler

    20. Dezember 2016 um 16:17 Uhr

Benutzer-Avatar
fastcodejava

@Override bedeutet, dass Sie die Basisklassenmethode überschreiben. In Java6 bedeutet dies auch, dass Sie eine Methode von einer Schnittstelle implementieren. Es schützt Sie vor Tippfehlern, wenn Sie glauben, eine Methode zu überschreiben, aber etwas falsch eingegeben haben.

1187070cookie-checkWas bedeutet @Override?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy