java枚举类型 Enum
Java 5新增的 enum 关键词,可以定义枚举类。 该类是一个特殊的类,可以定义自己的 field、方法、可以实现接口,也可以定义自己的构造器 。 但枚举类使用enum定义后在编译后默认继承了 java.lang.Enum 类,而不是普通的继承Object类。 enum声明类继承了 Serializable 和 Comparable 两个接口。且采用enum声明后,该类会被编译器加上 final声明 (同String),故 该类是无法继承的 。 枚举类的内部定义的枚举值就是该类的实例( 且必须在第一行定义,当类初始化时,这些枚举值会被实例化 )。 由于这些枚举值的实例化是在类初始化阶段,所以应该将枚举类的构造器(如果存在),采用 private 声明(这种情况下默认也是private,也必须是private的)。 另外补充一点,由于JVM类初始化是线程安全的,所以可以采用枚举类实现一个线程安全的单例模式。 enum 对象的常用方法介绍 int compareTo(E o) 比较此枚举与指定对象的顺序。 Class<E> getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象。 String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。 int ordinal() 返回枚举常量的序数(它在枚举声明中的位置