我试着寻找答案!有很多关于阴影的论文。究竟是什么?
答案 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);
}
}
其中x
是static
类变量和局部变量。如果在定义局部变量x
的方法中引用了x
,则将使用局部变量。如果要引用类变量,则需要使用
Test.x
分析工具可以找到这样的东西。