请解释var中的第二个值将如何为2,因为我们正在访问it范围之外的值。o/p-输入=1输出=2输入=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);
}
}
var
的作用域由外部声明控制。您只有一个var
。由于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
在这里声明一个变量并用值int var = 1;
初始化它
现在您更改它的值var = 2;
,所以var的值为2。
System.out.println("in="+var);
将打印var的最新值,该值为2。