Lassen Sie uns zunächst über die allgemeine Funktion von @Override sprechen:
1. Überprüfen Sie selbst, ob Sie vorhandene Methoden in der übergeordneten Klasse korrekt überschrieben haben.
2. Sagen Sie den Leuten, die den Code lesen, dass es sich um eine Umschreibmethode handelt.
Beispiel:
Zum Beispiel haben wir jetzt eine Basisklasse:
(Empfohlenes Video-Tutorial: Java-Video-Tutorial )
Jetzt schreiben wir eine Apple-Unterklasse, erben diese Basisklasse und überschreiben die Methode show_name() in der Basisklasse.
Das Ergebnis der Ausführung ist, dass die Wörter Apple:2 gedruckt werden.
Wenn wir die Methode der übergeordneten Klasse manuell überschreiben, ist es tatsächlich leicht, sich die Parameter der Methode falsch zu merken. Wenn Sie zu diesem Zeitpunkt nicht @Override hinzufügen, werden Sie vom Editor nicht aufgefordert: Wenn wir dieses Tag beispielsweise nicht hinzufügen, ändern Sie den Parameter leise in den Float-Typ.
Zu diesem Zeitpunkt haben wir die Methode tatsächlich nicht gemäß unserer Absicht erfolgreich überschrieben, sodass ein versteckter Fehler entstanden ist. Im Gegenteil, der Effekt des Hinzufügens von Override ist
Die IDE gab eine Fehlermeldung aus, die darauf hinweist, dass unsere Überschreibmethode fehlgeschlagen ist.
ist oft das Ergebnis, wenn wir uns darauf vorbereiten, die Methode zu überschreiben.
Ein weiteres Beispiel: Jetzt fügen wir der Fruit-Klasse eine private Methode hinzu und versuchen,
@Override private void grow(){ }
in Apple zu überschreiben. Dies führt dazu, dass der Compiler einen Fehler auslöst -Level-Fehler, aber es gibt Zu diesem Zeitpunkt werden wir ihn nicht finden: Das heißt, wir versuchen, die private Methode zu überschreiben, aber wenn wir das Override-Tag entfernen, meldet der Compiler keinen Fehler und kann ausgeführt werden.
Tatsächlich ist das sogenannte Grow You Override in Apple nur eine private Methode für Apple selbst. Völlig neuer Ansatz.
Dies führt zu der Frage: Was ist Replikation?
Im objektorientierten Bereich können nur Schnittstellen, gemeinsam genutzte Methoden und geerbte Methoden nicht überschrieben werden. Aber nachdem ich noch einmal darüber nachgedacht hatte, wurde mir klar: Es ist nicht so, dass es nicht überschrieben werden kann, sondern dass Es gibt überhaupt kein Vorrang vor dem Konzept der privaten Methoden!
Dies ist die ursprüngliche Absicht des objektorientierten Designs. Die private Methode selbst soll innerhalb der Klasse gekapselt werden und möchte nicht, dass andere sie extern ändern oder darauf verweisen.
Empfohlenes Tutorial: Java-Einstiegsprogramm
Das obige ist der detaillierte Inhalt vonWas macht @Override in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!