zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ist das OK? Sicherlich. Der Aufrufer hat den Wert 7000 an die Methode geschickt.

Was bewirkt betrag = 0 in der Methode? Das ändert die lokale Kopie des Wertes von 7000 in 0.

Aber das hat keine Auswirkung auf den Aufrufer. Betrachten wir noch einmal den Aufrufer — der Wert 7000 ist in keiner Variable enthalten. Es gibt nichts, was die aufgerufene Methode ändern könnte.

Lokale Variablen

Eine lokale Variable ist eine Variable, die innerhalb des Körpers einer Methode deklariert ist. Sie kann nur von den Anweisungen innerhalb der Methode, die nach ihrer Deklaration kommen, gesehen werden. (Ihr Gültigkeitsbereich beginnt mit ihrer Deklaration und endet mit dem Ende der Methode.) Zum Beispiel ist gebuehr  von  verarbeiteAuszahlung() eine lokale Variable:

class Konto
{
  . . . .
  private int    kontostand;


  void verarbeiteAuszahlung( int  betrag  )
  {
    int gebuehr; // Gültigkeitsbereich von gebuehr beginnt hier

    inkrementZaehler();
    if ( kontostand < 100000 )
      gebuehr = 15;
    else
      gebuehr = 0;

    kontostand =  kontostand -  betrag  - gebuehr  ;
  } // Gültigkeitsbereich von gebuehr endet hier

}

Die lokale Variable gebuehr wird in einer typischen Weise verwendet. Sie wird verwendet, um einen temporären Wert zu halten, während etwas berechnet wird. Lokale Variablen werden nicht verwendet, um die permanente Werte des Zustands eines Objekts zu halten. Sie enthalten einen Wert nur während der kurzen Zeitspanne in der die Methode aktiv ist.

FRAGE 9:

Ist der Gültigkeitsbereich einer lokalen Variablen immer der gesamte Körper einer Methode?