Ja — es sieht so aus als ob wir den gleichen Code zweimal geschrieben haben.
Manchmal (wie in dem Beispiel) möchten Sie, dass eine Subklasse
ihre eigene Methode hat, aber die Methode enthält alles, was die Methode
der Superklasse tut.
In dieser Situation können Sie das spezielle Schlüsselwort super verwenden.
Zum Beispiel,
hier ist die Methode von VideoTape:
public void show()
{
System.out.println( title + ", " + length + " Min. verfuegbar:" + avail );
}
Hier ist die Methode von Movie ohne die Verwendung von super:
public void show()
{
System.out.println( title + ", " + length + " Min. verfuegbar:" + avail );
System.out.println( "dir: " + director + " " + rating );
}
Die Methode von Movie würde besser unter der Verwendung von
super geschrieben:
public void show()
{
super.show();
System.out.println( "dir: " + director + " " + rating );
}
Bei der Verwendung in einer Methode muss super NICHT als erste Anweisung verwendet werden, anders als bei der Verwendung in einem Konstruktor.