Eine lokale Variable ist nicht in den übergeordneten Blöcken verfügbar.
Wenn es in einem
übergeordneten Block eine Variable gibt, die denselben Bezeichner wie eine lokale Variable hat, wird
Erstere durch die lokale Variable verdeckt. Das folgende Beispiel verdeutlicht
diesen Zusammenhang:
int x = 0;
{ // Das erste x wird jetzt verdeckt
int x;
x = 5;
}
System.out.println(x);
Weil die Variable im äußeren Block durch die im Inneren verdeckt wird, wirkt sich die Wertzuweisung nicht auf die äußere Variable aus.
Daher wird 0 ausgegeben.