不确定这是一个错误还是我有点疯狂..我试图在Eclipse jpage Scrapbook中使用JDK 1.7.0_02,Win XP 64位,Eclipse Juno快速测试枚举
class A {
enum Month {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC}
}
A a = new A();
当我尝试执行此操作时,我得到:
成员枚举月只能在顶级类或接口
中定义
如果我将枚举移出类定义,就会发生这种情况。
enum Month {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC}
Month.valueOf("JAN");
这些是我上面得到的错误:
成员枚举月只能在顶级类或接口
中定义月份无法解决
答案 0 :(得分:1)
我认为这样做的唯一方法是将enum本身从jpage中移到一个新类中。所以我就这样开课:
package test;
public class Test {
public enum Month {
JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC;
};
}
然后在jpage:
然后我的jpage将只有以下代码:
Test.Month.valueOf("JAN");
答案 1 :(得分:0)
好吧,对不起,如果我要说的是有点愚蠢,但是你不应该把enum声明为A级的公共成员吗?类中的枚举本质上是静态的,但不是公共的。在您的第一个示例中,如果您尝试将其声明为公开会发生什么?