Muss ich in Java @override benutzen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

@override gibt an, dass die Methode ursprünglich von einer vererbten (abstrakten/normalen) Klasse kommt. Wie du bereits richtig festgestellt hast, ist es kein Muss dieses zu benutzen, aber dennoch empfehlenswert. Ich meine, es ist interessant zu wissen für den Compiler und auch mögliche spätere Entwickler für das Projekt haben es dann einfacher, da die wissen, es wird geerbt und überschrieben

BeamerBen  13.07.2023, 13:38

Dem Compiler ist es egal, es geht einfach darum versehentliche Fehler zu vermeiden wenn eine Methode z.B. ausversehen überladen statt übeschrieben wird, indem ein compile time error generiert wird wenn keine Methode überschrieben wird.

0
FaTech  13.07.2023, 13:39
@BeamerBen

Also ist es ihm nicht egal, denn er achtet darauf

0
weil ich habe eine toString methode in der klasse erstellt und aber es hat trotzdem funktioniert, wieso brauche ich das Override dann?

Es ist lediglich eine zusätzliche Sicherheit, mit der du dem Compiler deine Absicht klarstellen kannst. Hast du die Annotation drin und vertippst dich - sagen wir, du nennst deine Methode ToString(), meckert der Compiler. Oder du schreibst den Methodennamen richtig, aber mit einer anderen Parameterliste.

Andersrum kann man die Annotation auch nutzen, um versehentliches Überschreiben zu bemerken.

 damit dass die anfänger davon abhälten weiter sich mit dem Programmieren zu beschäftigen ???????

Das muss es sein.

Ja du brauchst es nicht dranzuschreiben. Es ist dafür da, um verständlich zu machen, dass du diese Methode von der übergeordneten Klasse überschreibst. Macht den Code eigentlich eher übersichtlicher. Außerdem bieten viele IDEs Autovervollständigung an, wenn du anfängst @Override zu schreiben. Bei IntelliJ beispielsweise kannst du so einfach die Methode auswählen, die du überschreiben willst und die IDE schreibt das Grundgerüst selbst in den Code