请说明var中的第二个将如何为2,因为我们正在访问它的作用域之外。 o / p-in = 1 out = 2 in = 2
class Test
{
public static void main(String args[])
{
int var = 1;
System.out.println("in="+var);
{
var = 2;
System.out.println("out="+var);
}
System.out.println("in="+var);
}
}
答案 0 :(得分:1)
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
答案 1 :(得分:0)
在这里声明一个变量,并使用值int var = 1;
对其进行初始化
现在您将其值更改为var = 2;
,因此var的值为2。
System.out.println("in="+var);
将打印var的最新值2。