1、如何自定义枚举类
①提供类的属性,声明为private final
②声明为final的属性在构造器中初始化
③通过公共的方法来调用属性
④创建枚举类的对象 :将类的对象声明为 public static final
//枚举类
class Season{
//1、提供类的属性,声明为private final
private final String seasonName;
private final String seasonDesc;
//2、声明为final的属性在构造器中初始化
private Season(String seasonName,String seasonDesc){
this.seasonName=seasonName;
this.seasonDesc=seasonDesc;
}
//3、通过公共的方法来调用属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4、创建枚举类的对象 :将类的对象声明为 public static final
public static final Season SPRING = new Season("spring", "春暖花开");
public static final Season SUMMER = new Season("summer", "夏日炎炎");
public static final Season FALL = new Season("fall", "秋高气爽");
public static final Season WINTER = new Season("winter", "白雪皑皑");
@Override
public String toString() {
return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]";
}
}
1>如何让枚举类实现接口 :可以让不同枚举累的对象调用被重写的抽象方法,相当于让每个对象重写抽象方法
//4、创建枚举类的对象 :将类的对象声明为 public static final
SPRING("spring", "春暖花开"){
public void show(){
System.out.println("春天在哪里?");
}
}
2、如何使用enum关键字定义枚举类
方式①:
//public static final Season SPRING = new Season();
SPRING(){
public void show(){
System.out.println("我是春天!");
}
},
//public static final Season SUMMER = new Season();
SUMMER(){
public void show(){
System.out.println("我是夏天!");
}
},
//public static final Season FALL = new Season();
FALL(){
public void show(){
System.out.println("我是秋天!");
}
},
//public static final Season WINTER = new Season();
WINTER(){
public void show(){
System.out.println("我是冬天");
}
};
private Season1(){}
方式②:
public enum Season {
SPRING,SUMMER,FALL,WINTER;
}
3、enum的方法:
values
返回一个装有enum对象的数组
valueOf(String name);
返回对应的枚举的对象