Java在一个文件中包含多个公共Enum

ami*_*nga -3 java enums

在Java中,我们不能在一个.java文件中定义多个公共类。但是,我们可以在.java文件中定义多个公共枚举。

作为示例,此代码可以正常编译。

public class EnumTest {
  public enum Foo {
    F1,F2
  }

  public enum Bar {
    F3,F4
  }
}
Run Code Online (Sandbox Code Playgroud)

当Java枚举类型是一种特殊的Java类时,怎么可能?

Kay*_*man 5

我们不能enum在一个类中定义多个。

public enum Foo {
}

public enum Bar {
}
Run Code Online (Sandbox Code Playgroud)

当然不会编译。也许您对enum 实例或值感到困惑。

public enum Foo {
    ONE,               // First instance of Foo
    TWO                // Second instance of Foo
}
Run Code Online (Sandbox Code Playgroud)

只有一个枚举类,但是它有两个值,两个都是的实例Foo

  • 或OP将它们定义为嵌套类型,例如“类Foo {public enum SomeEnum {..},public enum OtherEnum {..}}”。换句话说,它们是“公共”类型,但不是“顶级”类型。 (2认同)