Java Reference
In-Depth Information
Der Nenner könnte ebenso gut auf einen anderen Wert ungleich 0 gesetzt werden. Ent-
scheidend ist, dass der zaehler auf 0 und der nenner auf einen Wert ungleich 0 gesetzt
wird. Damit hat der Bruch unmittelbar nach der Erzeugung mit
Brucha=newBruch();
den rechnerischen Wert 0. Wurde der Default-Konstruktor einmal überschrieben, wird
grundsätzlich der neue Konstruktor verwendet. Auch der neue Konstruktor heißt Stan-
dard- oder Default-Konstruktor, solange er eine leere Parameterliste verwendet.
6
6.4.1
Konstruktoren mit Parameter
Es können beliebig weitere Konstruktoren mit Parametern definiert werden, so wie wir
es von den Methoden her kennen. Beim Erzeugen eines Objekts wird dann immer der
von der Parameterliste her passendste Konstruktor verwendet. Konstruktoren mit
Parameter heißen Custom-Konstruktore n (spezielle Konstruktoren).
Der folgende Konstruktor ist z. B. geeignet, um einen Bruch direkt beim Erzeugen auf
einen Wert ungleich 0 zu setzen:
Bruch(intz,intn){
zaehler = z;
nenner = n;
}
Mit der Anweisung Bruch a = new Bruch(2, 3); wird der Wert des Bruchs bei der Erzeu-
gung direkt auf den Wert 2/3 gesetzt. Hier wird nun endgültig deutlich, dass hinter dem
new -Operator ein Methodenaufruf steht.
Im Zusammenhang mit Konstruktoren ist Ihnen vielleicht aufgefallen, dass die Attri-
bute eines Objekts nicht initialisiert werden. Vor dem Überschreiben des Default-Kon-
struktors unseres Bruchs trat kein Fehler auf. Würde man eine lokale Variable
verwenden, ohne dass ihr explizit ein Wert zugewiesen wird, würde das Programm
nicht übersetzt werden, und der Fehler »The local variable may not have been initiali-
zed« würde angezeigt werden. Werden hingegen Attribute (Datenelemente) eines
Objekts nicht initialisiert, werden Default-Werte verwendet. Welche das sind, hängt
vom jeweiligen Datentyp ab ( Tabelle 6.1 ).
Search WWH ::




Custom Search