Hi,
man kann auch Methoden, die bereits in der Oberklasse definiert sind, in der Unterklasse neu definieren und damit die alte Bedeutung für Objekte des neuen Typs überschreiben (override). Dabei braucht man eventuell nur die Teile neu zu schreiben, die zur entsprechenden Methode der Oberklasse hinzukommen, und kann für den gleichbleibenden Teil die Methode der Oberklasse mit super.name() aufrufen.
Wenn eine Methode in der Oberklasse als final deklariert ist, kann sie von Unterklassen nicht überschrieben werden.
Konstruktoren werden nicht automatisch von der Oberklasse übernommen sondern müssen neu definiert werden, wenn man mehr als den Default-Konstruktor mit der leeren Parameterliste braucht. Allerdings braucht man in diesen Konstruktoren nur diejenigen Aktionen zu definieren, die gegenüber der Oberklasse neu sind, und kann vorher - als erstes Statement - mit super(); oder super(parameterliste); den Konstruktor der Oberklasse aufrufen. Wenn man das nicht tut, wird vom Compiler automatisch der Aufruf des Default-Konstruktors super(); als erstes Statement hinzugefügt.
Quelle: http://www.boku.ac.at/javaeinf/jein1.html#inheritance
Dementsprechend ist super(); der parameterlose Konstruktor der Oberklasse der so von der Unterklasse aufgerufen werden kann.
Gruß Jaraz