Abstützung von Konstruktoren
Zur besseren Strukturierung dürfen sich die überladenen Konstruktorversionen auf einander stützen:
- Ein Konstruktor K(1) darf als erste Anweisung einen Aufruf this(P1,...,Pn) enthalten, wenn die Anzahl oder Typen der Parameterausdrücke nicht mit denen von K(1) übereinstimmen.
- Bei Aufruf von K(1) wird dann zuerst die Konstruktorvariante K(2) ausgewählt, deren Parameterzahl und -typen auf die Pi passen. Ein neues Objekt wird erzeugt und gemäß K(2) initialisiert.
- Dieses Objekt steht nun als Ganzes unter der Bezeichnung this zur Verfügung. Anschließend werden die restlichen Anweisungen von K(1) ausgeführt.
Natürlich darf dabei keine Rekursion entstehen.