首页 > 解决方案 > var 中的第二个如何为 2,因为我们在其范围之外访问它

问题描述

请解释 var 中的第二个如何为 2,因为我们正在访问它的范围之外。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);
    }
}

标签: javacore

解决方案


的范围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

推荐阅读