特性:
- 枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了java.lang.Enum类,而不是默认继承Object类,因此不能显式调用其他的父类,其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口
- 使用enum定义、非抽象的枚举类默认会使用final修饰,因此枚举类不能派生子类
- 枚举类的构造器只能使用private(私有)访问控制符,如果省略了会默认使用private休息,如果强制指定访问控制符,则只能指定private修饰符
- 枚举类实例必须在第一行显示列出,不然永远无法产生实例,列出实例时系统会自动添加public static final修饰
java.lang.Enum提供的方法:
- int compareTo(E o):比较位置,同一枚举实例只能与相同类型的枚举实例进行比较
Season c1 = Season.SPRING;
Season c2 = Season.WINTER;
System.out.println(c1.compareTo(c2));
//返回c2位置-c1位置 -3
- String name(): 返回此枚举实例的名称,这个歌名称就是定义时列出的所有枚举值之一。
- String toString():与name方法相同,但是这个更常用
- int ordinal():返回枚举值在枚举类中的索引值(第一个索引值为零)。