Version 2
09.09.2009 01:38:09
Dies ist die aktuelle Version
Wenn der Konstruktor der Basisklasse immer ausgeführt wird, egal ob mit super() oder nicht, liegt das vermutlich daran, dass Java zuerst die Basisklasse erstellt und daraus dann die abgeleitete. Soll heißen, es wird erst der Konstruktor der Basisklasse aufgerufen und dann der Konstruktor der abgeleiteten Klasse.
Ansonsten lässt sich sagen, dass super() in Java immer die Funktion aus der Basisklasse aufruft. zB:
public class Base
{
...
void MachWas()
{
...
};
};
public class Derived extend Base
{
...
void MachWas()
{
super.MachWas(); //Führt die Methode MachWas von Base aus
...
}
}