什么是Java中的阴影变量?

我正在读一本书,并在Java中遇到了“阴影变量”一词,但没有任何描述。 最终这些变量用于什么以及如何实施?

我可能会要求您阅读以下内容,而不是提供我自己的描述: http : //en.wikipedia.org/wiki/Variable_shadowing 。 一旦理解了变量的阴影,我建议您继续阅读有关覆盖/阴影方法和可见性的内容,以全面了解这些术语。

实际上,因为这个问题是用Java术语提出的,这里有一个小例子:

public class Shadow { private int myIntVar = 0; public void shadowTheVar(){ // since it has the same name as above object instance field, it shadows above // field inside this method int myIntVar = 5; // If we simply refer to 'myIntVar' the one of this method is found // (shadowing a seond one with the same name) System.out.println(myIntVar); // If we want to refer to the shadowed myIntVar from this class we need to // refer to it like this: System.out.println(this.myIntVar); } public static void main(String[] args){ new Shadow().shadowTheVar(); } }