java枚举
枚举类:类的对象只有限个、确定个
特殊的如果只有一个对象,就是单例模式
当需要定义一组常量时,强烈建议使用枚举类
jdk5.0之前 自定义枚举类
jdk5.0之后 enum定义
自定义枚举类
class Season{
private final String seasonName;
private final String seasonDesc;
private Season(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
public static final Season SPRING = new Season("春天","春暖花开");
public static final Season SUMMER = new Season("夏天","夏日炎炎");
public static final Season AUTUMN = new Season("秋天","秋高气爽");
public static final Season WINTER = new Season("冬天","冰天雪地");
public String getSeasonName(){
return seasonName;
}
public String getSeasonDesc(){
return seasonDesc;
}
}
enum枚举类 父类java.lang.Enum
enum SeasonEnum{
SPRING("春天","春暖花开"),SUMMER("夏天","夏日炎炎"),AUTUMN(("秋天","秋高气爽"),WINTER("冬天","冰天雪地");
private final String seasonName;
private final String seasonDesc;
private Season(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
public String getSeasonName(){
return seasonName;
}
public String getSeasonDesc(){
return seasonDesc;
}
}
Enum类常用方法
values()方法:返回枚举类型的对象数组,该方法可以方便的遍历所有的枚举值。
Season[] ss = Season.values(); //返回 SPRING,SUMMER...
valueOf(String str)方法:可以把一个字符串转化为枚举对象。要求字符串必须是枚举对象对应名
toString方法:返回当前枚举对象对应名
Enum实现接口
情况一:实现接口,直接重写方法
情况二: 实现接口,对每个枚举对象都实现自己的重写方法