2013-06-12 79 views
0
interface A 
{ 
    int a = 10; 
} 

interface B 
{ 
    int a = 10; 
} 

class Access implements A, B 
{ 
} 

class Demo 
{ 
    public static void main(String args[]) 
    { 
    Access ac = new Access(); 
    System.out.println(ac.a); // line #1 
    } 
} 

線#1導致模糊。我如何刪除它?不可能具有不同接口的相同變量名稱嗎?接口模糊

+2

只是爲了說明:接口中的「變量」默認爲「static final」,即「常量」 –

回答

2

您必須分別參考A.aB.a這兩個變量;

+0

非常感謝.. !!! –

2
System.out.println(((A)ac).a); 

or 
System.out.println(((B)ac).a); 

如果你有變量衝突,那麼你需要使用分辨率來訪問特定接口的值。

+1

非常感謝! –