枚举类
一、使用
- 理解:类的对象只有有限个、确定的,我们称此类为枚举类
- 当需要定义一组常量时,强烈建议使用枚举类
- 如果枚举类中只有一个对象,则可以作为单例模式的实现方式
二、自定义枚举类(JDK5.0之前)
//自定义枚举类
class Season {
//1、声明Season对象的属性:private final修饰
private final String seasonName;
private final String seasonDesc;
//2、私有化类的构造器
private Season(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//3、提供当前枚举类的多个对象:public static final修饰
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("冬天","冰天雪地");
//4、其他诉求1:获取枚举类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4、其他诉求2:提供toString方法()
@Override
public String toString() {
return "Season{" + "seasonName='" + seasonName + '\'' + ", seasonDesc='" + seasonDesc + '\'' +'}';
}
}
三、使用enum定义枚举类(JDK5.0及之后)
//使用enum关键字定义枚举类
enum Season1 {
//1、提供当前枚举类的对象,多个对象之间用","隔开,末尾对象用";"结束
SPRING("春天","春暖花开"),
SUMMER("夏天","夏日炎炎"),
AUTUMN("秋天","秋高气爽"),
WINTER("冬天","冰天雪地");
//2、声明Season对象的属性:private final修饰
private final String seasonName;
private final String seasonDesc;
//3、私有化类的构造器
private Season1(String seasonName,String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//4、其他诉求1:获取枚举类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
}

浙公网安备 33010602011771号