public class KonstruktorClass {
private int x;
// Standardkonstruktor muss nicht angegeben werden
public KonstruktorClass() {
}
// zweiter Konstruktor
public KonstruktorClass(int i){
this.x=i;
}
}
Das Beispiel zeigt eine Klasse mit zwei Konstruktoren.
Der erste ist ein Standardkonstruktor, der zweite dient zur Instanzierung einer int Instanzvariablen. Beim Aufruf dieses Konstruktors wird somit ein int-Attribut bereits beim Erzeugen einer Instanz initialisiert. Soll also ein Objekt der Klasse KonstruktorClass erzeugt werden, kann dies ohne oder mit Angabe eines Anfangswertes für die Instanzvariable x geschehen:
private int x;
// Standardkonstruktor muss nicht angegeben werden
public KonstruktorClass() {
}
// zweiter Konstruktor
public KonstruktorClass(int i){
this.x=i;
}
}
KonstruktorClass konst = new KonstruktorClass();
oder:
KonstruktorClass konst = new KonstruktorClass(2);
Konstruktoren müssen einigen Regeln folgen:
- Sie tragen immer den Namen der Klasse
- Sie besitzen keine Modifizierer (static, final...)
- Sie können überladen werden (mehrere Konstruktoren)
- Sie besitzen keinen Rückgabewert
- Rufen sie ihrerseits keinen anderen Konstruktor auf, werden sie vom Compiler um den Aufruf des Konstruktors der Basisklasse super() erweitert