在静态分析代码时,究竟是什么影子?

时间:2013-11-27 18:23:19

标签: java static code-analysis analysis

我试着寻找答案!有很多关于阴影的论文。究竟是什么?

1 个答案:

答案 0 :(得分:3)

假设您正在讨论使用名称进行遮蔽,Java Language specification说明了这个

  

某些声明可能会被另一部分声明影响   声明同名,在这种情况下简单的名称不能   用于引用声明的实体。

并给出了这个例子

class Test {
    static int x = 1;
    public static void main(String[] args) {
        int x = 0;
        System.out.print("x=" + x);
        System.out.println(", Test.x=" + Test.x);
    }
}

其中xstatic类变量和局部变量。如果在定义局部变量x的方法中引用了x,则将使用局部变量。如果要引用类变量,则需要使用

Test.x

分析工具可以找到这样的东西。