Eine gute Antwort könnte sein:

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

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

Aber das hat keine Auswirkung auf den Aufrufer. Betrachten Sie noch mal 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, wo sie deklariert ist, und endet mit dem Ende der Methode.) Zum Beispiel ist gebuehr  von  verarbeiteAuszahlung() eine lokale Variable:

class KontoChecker
{
  . . . .
  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 den permanenten Werts 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 Variable immer der gesamte Körper einer Methode?