我尝试做的是:
public class History {
public class State {
public enum StateType {
Eclipse 在 StateType
上给了我这个编译错误:成员枚举 StateType 必须在静态成员类型中定义
。
当我将 State
类设为静态时,错误消失了。我可以将 State
设为静态,但我不明白为什么我不能在内部类中声明 enum
。
最佳答案
enum
被定义为嵌套类型的类型总是隐含的static
(见JLS §8.9. Enums)
您不能在非静态类型中包含静态嵌套类型(也称为“内部类”,请参阅 JLS §8.1.3. Inner Classes and Enclosing Instances)。
因此,在非静态嵌套类型中不能有 enum
内部类型。
关于java - 为什么我不能在 Java 的内部类中创建枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858036/