Java Reference
In-Depth Information
6.3.2 Methoden ohne Ergebnisrückgabe
Soll eine Methode kein Ergebnis zurückliefern, wird als Ergebnistyp der Ausdruck void
angegeben. Es handelt sich dabei um einen Pseudo-Typ , der so viel bedeutet wie
»nichts«. Wir haben solche Methoden bereits mehrmals verwendet. Sie können aus
einer solchen Methode an jeder Stelle mit einer return -Anweisung ohne Ergebnisaus-
druck
6
return;
zur aufrufenden Anweisung zurückkehren. In der folgenden Methode kuerzen() wird
die Methode verlassen, wenn der ggT = 1 ist und somit feststeht, dass nicht gekürzt wer-
den kann.
Am Ende einer Methode ohne Ergebnisrückgabe kehrt der Programmablauf automa-
tisch zur aufrufenden Anweisung zurück. Sie müssen dort keine return -Anweisung ein-
fügen. Entsprechend kann bei einer solchen Methode die return -Anweisung komplett
fehlen. Sie wird am Ende der Methode quasi implizit ergänzt.
Beim Überladen von Methoden müssen Sie beachten, dass überladene Methoden sich
nicht ausschließlich durch den Ergebnistyp unterscheiden dürfen. Sie müssen sich also
zusätzlich noch in der Parameterliste unterscheiden. Da der Ergebnistyp beim Aufruf
nicht angegeben wird, könnte der Compiler nicht entscheiden, welche Methode ver-
wendet werden soll.
6.4
Konstruktoren als spezielle Methoden
Objekte werden mit dem new -Operator erzeugt. Nach dem Erzeugen eines Objekts sollte
es sich grundsätzlich in einem definierten Anfangszustand befinden. Der Zustand eines
Objekts unserer Klasse Bruch wird durch die Werte der Attribute zaehler und nenner
beschrieben. Wenn wir davon ausgehen, dass nach dem Erzeugen eines Objekts der
Klasse Bruch beide Attribute den Wert 0 haben, dann befindet sich unser Bruch in einem
Zustand, der in der Mathematik als ungültig angesehen wird. Ein Bruch, dessen Zähler 0
ist, hat normalerweise den Wert 0. Ein Bruch, dessen Nenner 0 ist, müsste eigentlich
unendlich groß sein. Beide Annahmen widersprechen sich. Deshalb ist der Bruch mit
Zähler und Nenner gleich 0 als nicht definiert festgelegt. Um dies zu vermeiden, können
Sie nach der Erzeugung eines Objekts grundsätzlich zuerst den Wert mit der Methode
setze auf einen definierten Wert festlegen:
Bruchb=newBruch();
b.setze(0);
Search WWH ::




Custom Search