Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
enum 是一种语言结构,用于定义类型安全的枚举,可在需要一组固定的命名值时使用。所有枚举都隐式继承 java.lang.Enum
。枚举可以包含一个或多个 enum constants (枚举常量),它们定义枚举类型的唯一实例。枚举声明定义了一个 enum type (枚举类型),它与一个类非常相似,因为它可能包含诸如字段,方法和构造函数之类的成员(有一些限制)。
由于枚举是类,因此反射无需定义显式的 java.lang.reflect.Enum
类。唯一特定于枚举的反射 API 是 Class.isEnum()
,Class.getEnumConstants()
和 java.lang.reflect.Field.isEnumConstant()
。涉及枚举的大多数反射操作与任何其他类或成员相同。例如,枚举常量在枚举上实现为 public static final
字段。以下部分显示如何使用枚举实现 Class
和 java.lang.reflect.Field
。
有关枚举的介绍,请参阅 Enum Types 课程。