枚举:是有限个值的集合。
是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内
如果没有枚举类,我们自己定义一个类的话,会非常麻烦。(//需要用到构造方法私有,静态方法调用,对象调用方法,匿名类重写方法等)
格式:
public enum 枚举类名 {
枚举项1,枚举项2,枚举项3…;
}
public String toString(): 返回枚举常量的名称,它包含在声明中(枚举重写了toString方法,返回的是枚举项的名字)
注意事项
定义枚举类要用关键字enum
所有枚举类都是Enum的子类
枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
枚举类可以有构造器,但必须是private的,它默认的也是private的。枚举项的用法比较特殊:枚举(“”);
枚举类也可以有抽象方法,但是枚举项必须重写该方法
枚举在switch语句中的使用
枚举类中的几个常见方法
int compareTo(E o) 比较此枚举与指定对象的顺序,枚举中隐含数字 1 2 3 …
String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明
int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,初始常量序数为0)
String toString() 返回枚举常量的名称,它包含在声明中
values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便