4.2 Variablen, (Sichtbarkeit lokal, global)

Variablen sind immer nur in einem gewissen Umfang sichtbar. Sichtbar bedeutet hier benutzbar, gültig.

Die Sichbarkeit von Variablen hängt vom Kontext, dem Block ab in dem sie deklariert worden sind.

Blöcke können sein:

  • Programmcode zwischen geschweiften Klammern
  • Programmcode innerhalb einer Schleife, Ausführungsektionen (z.Bsp. if Bedingung)
  • Bereich einer Methode
  • Bereich einer Klasse
  • Global

Es gibt hier abhängig von der Sichtbarkeit verschiedene Bereiche

  • Blocklokale Variablen
  • Methodenlokale Variablen
  • Klassenlokale Variablen

Die Gültigkeit von Variablen steht im Zusammenhang mit dem Stapel (Stackkonzept) des Laufzeitsystems.

Das Laufzeitsystem legt beim Beginn eines jeden Blocks die neuen Variablen hinter den Variablen des gerade aktuellen Blocks an.

Nach dem Verlassen eines Blocks wird der Zeiger auf das obere Ende des Stapels wieder auf die Variablen des letzen Blocks zurückgesetzt.

Der Speicher der Variablen des verlassenen Blocks ist hierdurch zur Wiederverwendung wieder freigegeben worden.

Das Verfahren eines Stapels entspricht der üblichen Handhabung von Tellern im Schrank.

  • Neue Teller (hier Blöcke) werden immer oben an den Stapel angefügt
  • Nicht mehr benötigte Teller werden nur von oben entfernt

Das Stackkonzept des Laufzeitssystems:

Anonymous (not verified)

Sat, 12/09/2017 - 12:39

Hallo Hr. Schneider,

in der main-Methode steht public int guthaben = 200; im Stack steht guthaben mit einem Wert von 20.

Müsste der Wert im Stack nicht auch 200 haben?!

Viele Grüße