Область действия var
контролируется внешней декларацией.У вас есть только один var
.Вы не можете shadow var
как опубликовано, потому что это локальная переменная. Однако , если мы немного подправим его для примера.
static int var = 1;
public static void main(String args[])
{
System.out.println("in="+var);
{
int var = 2;
System.out.println("out="+var);
}
System.out.println("in="+var);
}
Затеняет внешне объявленный var
.И это действительно вывод
in=1
out=2
in=1