1

不知道这是一个错误还是我有点疯狂..我正在尝试对 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();

当我尝试执行此操作时,我得到:

成员枚举 Month 只能在顶级类或接口内定义

如果我将枚举移出类定义,就会发生这种情况。

enum Month {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC}
Month.valueOf("JAN");

这些是我在上面得到的错误:

成员枚举 Month 只能在顶级类或接口内定义

月份无法解决

4

2 回答 2

1

我相信做到这一点的唯一方法是将枚举本身从 jpage 移到一个新类中。所以我让课程像这样:

package test;
public class Test {
   public enum Month {
      JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC;
   };
}

然后在jpage中:

  1. 右键单击并选择“设置导入”
  2. 单击“添加包”并输入/选择测试包。

然后我的jpage将只有以下代码:

Test.Month.valueOf("JAN");
于 2013-02-27T07:25:57.580 回答
0

好吧,对不起,如果我要说的有点愚蠢,但是您不应该将枚举声明为 A 类的公共成员吗?类中的枚举本质上是静态的,但不是公共的。在您的第一个示例中,如果您尝试将其声明为公开会发生什么?

于 2014-04-05T15:46:35.803 回答