1:枚举类的使用
* 1.1.枚举类的理解:类的对象是有限的,确确定的
* 1.2.如果枚举类只有一个对象,则可以是单例模式的实现方式
2:如何定义枚举类
* 2.1JDK5.0以前自定义枚举类
* 2.2JDK5.0以后可以使用enum关键字定义枚举类
* 使用enum定义枚举类默认继承于java.lang.Enum
3.使用enum定义的枚举类的常用方法:
* toString: 返回的是对象名
* //valueOf():返回带指定名称的指定枚举类型的枚举常量。
* // 名称必须与在此类型中声明枚举常量所用的标识符完全匹配
* //如果不匹配,会抛出异常IllegalArgumentException -
* 如果指定枚举类型不包含指定名称的常量,
* 或者指定类对象不表示枚举类型
* //values(): 返回枚举类中对象的数组
4.使用enum定义的枚举类的实现接口的情况:
* 情况1:实现接口,在enum类中实现抽象方法,每个对象调用的抽象方法都一样
* 情况2:让枚举类的对象分别实现接口中的抽象方法
public class SeaSonTest {
@Test
public void test(){
Season spring = Season.SPRING;
System.out.println(spring);
}
}
class Season{
// 1.声明的对象的属性: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 AUTOM = new Season("秋天","秋困");
public static final Season WINTER = new Season("冬天","冬眠");
// 4.其他诉求:获取枚举类对象的属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
@Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}