基本概念
使用场景:类的对象只有有限个,确定的,可以穷举的。
需要定义一组常量时,建议使用枚举类。
如果枚举类只有一个对象,可以作为单例模式的实现模式。
自定义枚举类
方法1:JDK5.0之前,自定义枚举类
方法2:JDK5.0及之后,使用enum关键字定义枚举类
代码示例:
public class SeasonTest {
public static void main(String[] args){
Season spring = Season.SPRING;
System.out.println(spring);
}
}
//自定义枚举类
class Season{
//声明Season对象的属性:private final来修饰
private final StringseasonName;
private final StringseasonDesc;
//1.私有化类的构造器
private Season(String seasonName, String seasonDesc){
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//2.提供当前枚举类的多个对象
public static final SeasonSPRING =new Season("Spring","warm");
public static final SeasonSUMMER =new Season("Summer","hot");
public static final SeasonAUTOMN =new Season("Automn","cool");
public static final SeasonWINTER =new Season("Winter","cold");
//3.其他需求:获取没去类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4.其他需求:提供toString方法
@Override
public String toString() {
return "Season{" +
"seasonName='" +seasonName +'\'' +
", seasonDesc='" +seasonDesc +'\'' +
'}';
}
}