为什么编译下面的代码会导致错误?
public class Test {
public static void main(String[] args) {
TestEnum.INSTANCE.run();
}
}
enum TestEnum implements Runnable {
INSTANCE {
@Override public void run() {}
};
}
$ javac Test.java
Test.java:3: cannot find symbol
symbol : method run()
location: class TestEnum
TestEnum.INSTANCE.run();
^
答案 0 :(得分:1)
这是Oracle JDK 1.6编译器的问题。使用OpenJDK和Oracle JDK 1.7,它可以正常工作。