定义 :被enumerate关键词修饰的类型就是枚举;如果枚举不添加任何方法 ,枚举 默认值从0开始有序数值 。
枚举的好处 :可以将常量组织起来 , 统一进行管理 。
枚举的典型应用场景 :错误码 、状态机等
特性 :除了不能继承 ,基本上可以将 enum 看做一个常规的类 。
Java 不允许使用 = 为枚举常量赋值
枚举可以添加普通方法 、静态方法 、抽象方法 、构造方法
枚举可以实现接口,但不能继承
常用方法 :
a . compareTo(E o) : 比较枚举元素的顺序
b . equals(Object obj) : 判断枚举元素是否相同
c . name () : 获取元素定义时的名称
d . ordinal () : 获取枚举元素被定义时的顺序 ,从0开始计算
//定义枚举类
public enum Week {
MONDY,TUESDAY,WEdNESDAY,THURSDAY, FRIDAY,SATURDAY,SUNDAY; }
测试
public static void main(String[] args) {
getWeekInfo(Week . FRIDAY);
getWeekInfo(Week . MONDY);
}
运行结果:
FRIDAY
MONDY
如何让运行结果打印中文的星期呢 , 思路 :
System .out . println(Week .SATURDAY);调用的是枚举对象的toString ()方 法 ,重写toString ()方法
要在构造枚举对象的时候传入中文的星期 ,重写枚举类的构造方法
public enum Week {
MONDY("星期一"),
TUESDAY("星期二"),
WEdNESDAY("星期四"),
THURSDAY("星期四"),
FRIDAY("星期五"),
SATURDAY("星期六"),
SUNDAY("星期天");
private String name;
Week(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
更多内容 公众号:天堂比不过家乡
,别忘了 赞助关注哦!