Kann mir jemand erklären was @Override in Java bedeutet und für was man es in der Praxis braucht?
2 Antworten
Vererbung
Sollte dir das noch nichts sagen, kannst du @Override ignorieren.
Ansonsten:
Wenn du eine Methode überschreibst - das heißt eine Methode der Vater-Klasse in deiner Kind-Klasse hast, schreibst du üblicherweise @Override drüber.
Dies hat zur Laufzeit exakt 0 Auswirkungen, jedoch kann dein Compiler damit Fehler ausspucken, wenn du dich vertippst hast.
Beispiel:
Die Vaterklasse hat die Methode: fragGuteFrageDotNet(String text).
Du möchtest diese Methode überschreiben, um Funktionalitäten hinzuzufügen. Du schreibst:
public void frageGuteFrageDotNet(String text){
}
und hast nicht wie erwartet die Methode "fragGuteFrageDotNet" überschrieben, da du versehentlich nach dem frag noch ein e getippt hast.
Würdest du über die Funktion ein @Override schreiben, sagt der Compiler: Fehler: frageGuteFrageDotNet überschreibt nichts. Und somit würdest du ziemlich schnell deinen Tippfehler bemerken.
https://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why
Dave L. erklärt das ziemlich gut.