Java Reference
In-Depth Information
Die Ausgaben des Programms zeigen, dass nach dem Konstruktoraufruf der Radius auf
den Wert 1 gesetzt ist. Das zeigt, dass der parameterlose Konstruktor der Superklasse
Kreis aufgerufen wurde, denn dort wird der Radius auf den Standardwert 1 gesetzt. Ver-
suchen Sie, den Konstruktor mit einem Parameter für den Radius aufzurufen, erhalten
Sie eine Fehlermeldung mit dem Hinweis, dass kein Konstruktor für Kreissegment mit
einem Parameter existiert. Konstruktoren werden also nicht automatisch fortgeschrie-
ben. Sie können aber in neu definierten Konstruktoren durchaus verwendet werden. So
können Sie z. B. einen Konstruktor mit zwei Parametern definieren, der zum Setzen des
Radius den Konstruktor der Klasse Kreis (also der Superklasse) verwendet. Aufgerufen
wird ein Konstruktor der Superklasse mit dem Schlüsselwort super :
7
public class Kreissegment extends Kreis {
double winkel;
Kreissegment(double r, double w) {
super(r);
alpha = w;
}
}
Listing 7.7 Aufrufen des Konstruktors der Superklasse
Wie bei den Ausführungen zu Konstruktoren bereits erläutert, müssen Sie beachten,
dass der parameterlose Standardkonstruktor nicht mehr verfügbar ist, sobald ein eige-
ner Konstruktor definiert wurde. Deshalb ergänzen wir noch einen parameterlosen
Konstruktor, der den Radius mit dem Konstruktor der Superklasse auf den Wert 1 und
den Winkel selbst auf den Wert 90 (Grad) setzt:
public class Kreissegment extends Kreis {
double winkel;
Kreissegment() {
super();
winkel = 90;
}
Kreissegment(double r, double w) {
super(r);
winkel = w;
}
}
Listing 7.8 Konstruktoren der Klasse »Kreissegment«
Search WWH ::




Custom Search