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 行导致歧义。如何删除它?不同接口不能有相同的变量名吗?

4

2 回答 2

2

您将不得不分别引用这两个变量A.aB.a

于 2013-06-12T11:59:17.907 回答
2
System.out.println( ((A)ac).a);   

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

如果您有冲突的变量,那么您需要使用解析来访问特定接口的值。

于 2013-06-12T11:58:28.567 回答