@Override bei Eclipse? Beispiel, Erklärung, ...

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das überschreiben wird genutzt um Methoden einer darüber liegenden Klasse umzuschreiben. Ich weiß nicht wie weit du mit Objektorientierung bist, aber Klassen können von anderen Klassen ableiten. Somit hat die abgeleitet Klasse alle Methoden etc.. Alle Klassen leite von der Klasse Object ab, welche z.b. die toString methode enthält. Die gibt standardmäßig glaube nur hashcode etc zurück, der nicht gerade schön aussieht und in den meisten Fällen für den Anwender unnütz ist. Wie man dieses überschreibt weisst du vermutlich ja schon. Die Annotation @Override hat für den Compiler keine Bedeutung. Dem ist das vollkommen egal. Der merkt das von selbst. Die @Override ist nur für die IDE ( in deinem fall eclipse ). Du kannst das auch weglassen. Es wird keinen Fehler bei der Ausführung geben. Schreibst du das @Overide aber vor einer Methode die garnicht in einer darüberliegenden Klasse vorhanden ist,weisst die IDE dich darauf hin. Zum Beispiel wenn du statt toString, tooString schreibst. Das ist also nur da um z.B. solche Fehler zu beseitigen. Also schön hinschreiben. Erspart ne Menge arbeit bei der Fehlersuche.

Vielen Dank für deine ausführliche Anleitung :)

Ich möchte nur Anhand eines Beispieles fragen, ob ich es richtig verstanden habe:

Die erste Methode (ich nenne Sie jetzt "MethodeA") überschreibt die zweite Methode (ich nenne Sie jetzt "MethodeB")

In MethodeB wird eine Variable deklariert.

In MethodeA wird eine Ausgabe erzeugt.

Wenn nun MethodeA die MethodeB überschreibt, dann wird keine Variable deklariert, sondern nur eine Ausgabe erzeugt

Stimmt das?

Grüße Tom1324

0
@Tom1324

Genau richtig. :). Musst halt nur daran Denken das die Methoden den gleichen Namen haben :). Achja, du könntest in deinem Fall in MethodeA noch "super();" schreiben, damit wird die überschriebene Methode aufgerufen. :)

0

Eigentlich kann man es nicht ausführlicher erklären als es der Terminator2010 schon getan hat. Zusammengefasst ist es einfach ein Überschreiben von vorher bestehenden Methoden, die die Klasse mit sich bringt, von der geerbt wird. Anschaulich kann man es so sagen: Du erstellst eine neue Klasse, die alle Attribute übernehmen soll, die ein Mensch hat, nur es soll ein Übermensch werden. Das heißt, sein Atmen ist jetzt nicht mehr notwendig. (Blödes Beispiel aber vielleicht hilft es), das heißt, die vorhandene Methode atmen() soll jetzt nicht mehr wie in der Klasse Mensch beschrieben ablaufen sondern anders. Das heißt du brauchst das Override, damit eine schon vorher bestehende Funktion jetzt anders definiert werden kann ;)

Danke dir erstmal. Aber die Annotation wird eben nicht zwangsweise gebraucht :)!

0

Was möchtest Du wissen?