以下是我正在尝试的代码:
public enum PagesEnum {
PAGE1 {
public static final SectionsEnum SECTION_A = SectionsEnum.SECTION_A;
public static final SectionsEnum SECTION_B = SectionsEnum.SECTION_B;
},
PAGE2 {
public static final SectionsEnum SECTION_C = SectionsEnum.SECTION_C;
public static final SectionsEnum SECTION_D = SectionsEnum.SECTION_D;
}
}
public enum SectionsEnum {
SECTION_A,
SECTION_B,
SECTION_C,
SECTION_D
}
(实验的目标是获得类似PAGE1.SECTION_A
的语法,但这不是此问题的重点。)
我在Eclipse中遇到以下编译器错误:
除非使用常量表达式初始化,否则无法在非静态内部类型中将字段
SECTION_A
声明为静态
现在我有点困惑。使用枚举SECTION_A
初始化SectionsEnum.SECTION_A
- 为什么不能枚举常量表达式?我已经检查了JLS,枚举确实没有收听Constant Expressions。
我想知道,为什么会这样。