Java Reference
In-Depth Information
// Definition der Klasse Bruch
class
Bruch {
int
zaehler
;
int
nenner
;
// Definition der Klasse Bruch
class
Bruch {
int
zaehler;
int
nenner;
void
ausgeben() {
System.
out
.print(
zaehler
+
"/"
+
nenner
);
void
ausgeben() {
System.
out
.print(zaehler+"/"+nenner);
}
}
void
kuerzen() {
in
t m, n, r
;
void
kuerzen() {
in
t m, n, r;
6
m =
zaehler
;
n =
nenner
;
r = m % n;
while
(r > 0) {
m = n;
n = r;
r = m % n;
}
zaehler
/= n;
nenner
/= n;
}
m = zaehler;
n = nenner;
r = m % n;
while
(r > 0) {
m = n;
n = r;
r = m % n;
}
zaehler /= n;
nenner /= n;
}
void
gekuerztausgeben() {
kuerzen();
ausgeben();
}
void
gekuerztausgeben() {
kuerzen();
ausgeben();
}
}
}
Abbildung 6.3
Methodenaufruf aus einer Methode
6.1.3
Abgrenzung von Bezeichnern
Da innerhalb von Methoden neben den Datenelementen auch lokale Variablen verwen-
det werden können und beim Zugriff auf Datenelemente kein Objektname vorange-
stellt ist, kann im Quellcode nicht zwischen einem Zugriff auf eine lokale Variable und
einem Zugriff auf ein Datenelement unterschieden werden. Außerdem ist zu beachten,
dass Namen von lokalen Variablen und Datenelementen nicht kollidieren. Dadurch ist
es durchaus möglich, dass innerhalb einer Methode eine lokale Variable definiert wird,
die den gleichen Namen trägt wie ein im Objekt bereits definierten Datenelement. Zum
Beispiel könnte, wie im unten stehenden Beispiel gezeigt, in der Methode
ausgeben()
eine lokale Variable mit dem Namen
zaehler
definiert werden, ohne dass der Compiler
eine Fehlermeldung erzeugt.
void ausgeben() {
int zaehler = 0; //namensgleiche lokale Variable
System.out.print(zaehler + "/" + nenner);
}