枚举类
类的对象只有有限个,确定的。
eg:一星期,季节,支付方式,就职状态,订单状态,线程状态等
需要定义一组常量的时,强烈建议枚举类
public class SeasonTest {
public static void main(String[] args) {
Season summer = Season.SUMMER;
System.out.println(summer);
System.out.println("***************************");
// values()
Season[] values = Season.values();
for (Season season:values){
System.out.println(season);
}
// valueOf()
System.out.println("***************************");
Season season = Season.valueOf("SPRING");
System.out.println(season);
season.show();
}
}
interface info{
void show();
}
enum Season implements info{
SPRING("春天","春天来了"){
@Override
public void show() {
System.out.println("春天在哪里");
}
},
SUMMER("夏天","夏天来了"){
@Override
public void show() {
System.out.println("夏天在哪里");
}
},
AUTUMN("秋天","秋天来了"){
@Override
public void show() {
System.out.println("秋天在哪里");
}
},
WINTER("冬天","冬天来了"){
@Override
public void show() {
System.out.println("冬天在哪里");
}
};
//使用private final修饰
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;
}
@Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}