Überschreiben
Beim Überschreiben (englisch overriding) ersetzt eine Unterklasse eine geerbte Methode durch eine eigene Fassung. Die Signatur – Name, Parameterliste und Rückgabetyp – bleibt dabei gleich.
public class Tier {
public void gibLaut() { IO.println("..."); }
}
public class Hund extends Tier {
@Override
public void gibLaut() { IO.println("Wuff"); }
}
@Overrideist keine Pflicht, aber sehr zu empfehlen: Java meldet dann einen Fehler, wenn gar keine passende Methode überschrieben wird (etwa wegen eines Tippfehlers im Namen).- Mit
super.gibLaut()lässt sich die Fassung der Oberklasse zusätzlich aufrufen. - Welche Fassung läuft, entscheidet die dynamische Bindung.
Nicht zu verwechseln mit dem Überladen: Dort bleibt der Name gleich, die Parameterliste ändert sich.