Java教程是为JDK 8编写的。本页中描述的示例和实践不利用后续版本引入的改进,并可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言功能的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能以及已删除或已弃用选项的信息,请参阅JDK发行说明。
枚举是一种语言构造,用于定义类型安全的枚举,当需要一个固定的命名值集时可以使用。所有枚举隐式扩展java.lang.Enum
。枚举可以包含一个或多个枚举常量,这些常量定义了枚举类型的唯一实例。枚举声明定义了一个与类非常相似的枚举类型,它可以具有字段、方法和构造函数(有一些限制)。
由于枚举是类,反射无需定义一个显式的java.lang.reflect.Enum
类。枚举特定的反射API只有三个,它们是Class.isEnum()
、Class.getEnumConstants()
和java.lang.reflect.Field.isEnumConstant()
。涉及枚举的大多数反射操作与任何其他类或成员相同。例如,枚举常量在枚举上实现为public static final
字段。以下部分显示了如何使用Class
和java.lang.reflect.Field
与枚举。
有关枚举的简介,请参阅枚举类型课程。