-1

为什么编译下面的代码会导致错误?

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();
                         ^
4

1 回答 1

1

这是Oracle JDK 1.6 编译器的问题。使用 OpenJDK 和 Oracle JDK 1.7 可以正常工作。

于 2013-09-25T11:29:45.517 回答