【发布时间】:2013-12-13 13:12:21
【问题描述】:
我试图寻找这个问题的答案!有很多关于影子的论文。这究竟是什么?
【问题讨论】:
标签: java static code-analysis analysis
我试图寻找这个问题的答案!有很多关于影子的论文。这究竟是什么?
【问题讨论】:
标签: java static code-analysis analysis
假设您正在谈论使用名称进行遮蔽,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);
}
}
其中x 是static 类变量和局部变量。如果在定义局部变量x的方法中引用了x,则将使用局部变量。如果要引用类变量,则需要使用
Test.x
分析工具可以找到类似的东西。
【讨论】:
shadow。