这是我有三个接口的代码
interface i1{
int x=1;
}
interface i2{
int x=2;
}
interface i3{
int x=3;
}
class A implements i1,i2,i3{
system.out.println(x); // It shows Field is ambgous
}
Run Code Online (Sandbox Code Playgroud)
如何回答这个或如何克服这个问题.
如何回答这个或如何克服这个问题.
不要在接口中使用字段,或者如果必须使用它们,并且它们必须具有相同的名称,只需完全限定它们:
System.out.println(i3.x);
Run Code Online (Sandbox Code Playgroud)
请注意,import static
导入包含常量的接口的"简洁"原因被删除 - 接口实际上只应该出于真正的行为原因而实现.有关此方面的更多建议,请参阅Effective Java 2nd edition.