【发布时间】:2014-08-28 01:16:57
【问题描述】:
main 方法尝试访问 var,但导致调用不明确。为什么? Base1 中的实例变量 var 无论如何都无法从静态上下文中访问(可见?)。
class Base1 {
int var;
}
interface Base2 {
public static final int var = 0;
}
class Test extends Base1 implements Base2 {
public static void main(String args[]) {
System.out.println("var:" + var);
}
}
【问题讨论】:
-
@Pablo,包没关系。把代码sn-p放到一个文件里看看结果就行了。
-
@AlexR "错误 - 主文件中至少需要一个公共类"
-
好吧,公开其中一个类。不是这个问题。
-
错误信息一目了然:对 var 的引用不明确,Bof.Base1 中的变量 var 和 Base2 中的变量 var 都匹配
-
@AlexR,你是对的,我删除了答案。我怀疑答案更复杂,我认为这不可能是编译器问题。
标签: java static ambiguous non-static