Java Reference
In-Depth Information
Die Verwendung eines Konstruktors vereinfacht diese Vorgehensweise dadurch, dass er
die Aufgabe, das Objekt in einen definierten Anfangszustand zu versetzen, mit der
Erzeugung des Objekts zu einer einzigen Anweisung zusammenfasst. Ein Konstruktor
ist zunächst nichts anderes als eine Methode. Es gibt aber einige Besonderheiten, die
einen Konstruktor von einer gewöhnlichen Methode unterscheiden:
Der Name eines Konstruktors entspricht immer exakt dem Namen der Klasse.
Die Definition eines Konstruktors beginnt immer mit dem Namen, ohne vorange-
stelltes void oder eine andere Typangabe.
Ein Konstruktor wird automatisch mit dem new -Operator aufgerufen.
Die letzte Aussage wirft die Frage auf, welcher Konstruktor in unseren Beispielprogram-
men aufgerufen wurde, denn bisher haben wir noch keinen Konstruktor definiert.
Wurde vom Programmierer kein Konstruktor definiert, so erzeugt der Compiler beim
Übersetzen der Klasse einen Default-Konstruktor , der keine weiteren Anweisungen
beinhaltet. Somit besitzt jede Klasse einen Konstruktor. Entweder einen vom Program-
mierer definierten oder den Standardkonstruktor (Default-Konstruktor) mit leerer
Parameterliste und leerem Rumpf. Da der Konstruktor den gleichen Namen wie die
Klasse besitzt, heißt dieser z. B. für unsere Klasse Bruch
Bruch()
und genau diesen Konstruktor rufen wir mit der Zeile
Bruchb=newBruch();
auf. Der Standardkonstruktor existiert also für jede Klasse, ohne dass wir ihn definieren
müssen. Anstelle des Default-Konstruktors können wir als Programmierer einen selbst
definierten Konstruktor erstellen, der das Objekt in einen definierten Anfangszustand
versetzt. Ein Konstruktor wird genauso definiert wie eine andere Methode. Es müssen
lediglich die oben genannten Besonderheiten beachtet werden. Entsprechend muss der
Name des Konstruktors dem Objektnamen entsprechen, und es wird kein Datentyp
bzw. kein void vorangestellt. Um den Bruch auf den Wert 0 vorzubesetzen, können wir
entsprechend folgenden Konstruktor definieren:
Bruch() {
zaehler = 0;
nenner = 1;
}
Listing 6.10 Selbst definierter Konstruktor der Klasse »Bruch«
Search WWH ::




Custom Search