2013-11-27 98 views

回答

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 

分析工具可以找到這樣的事情。

+0

嗯......不,我不是指範圍在語言中出現的陰影......但我正在談論程序分析中出現的陰影術語。 – ShivamMax

+0

@ShivamMax你可以鏈接任何關於它的文章嗎? –

+0

它實際上出現在很多研究論文中! – ShivamMax