4.3 | Konstruktoren |
Konstruktoren dienen dazu, die Datenelemente eines Objekts mit Initialwerten zu versehen und weitere Aktionen zur Initialisierung des Objekts durchzuführen. Im Beispiel wurde aber ein Konstruktor aufgerufen, der gar nicht explizit definiert wurde:myPoint = new Point();Die Erklärung hierfür liegt darin, dass in Java alle Klassen, die selbst keinen Konstruktor definieren, einen impliziten Konstruktor haben. Dieser trägt denselben Namen wie die Klasse und besitzt keine Parameter. Er belegt alle Datenelemente des erzeugten Objekts mit den Initialwerten der jeweiligen Datentypen. Für Konstruktoren gelten die folgenden Regeln:
- Konstruktoren haben grundsätzlich denselben Namen wie die Klasse.
- Konstruktoren haben keinen Ergebnistyp, auch nicht void. return-Anweisungen ohne Argument sind dagegen erlaubt, um die vorzeitige Beendigung eines Konstruktors zu ermöglichen.
- Es ist durchaus zulässig, in einer Klasse mehrere Konstruktoren mit unterschiedlichen formalen Parametern zu implementieren. Dies ist häufig sinnvoll, wenn dem Benutzer überlassen werden soll, wie viele Datenelemente er bereits bei der Initialisierung mit bestimmten Werten vorbelegen will.
- Wenn ein Konstruktor einen anderen aufruft, dann muss dieser Aufruf die erste Anweisung innerhalb des Konstruktors sein.