package new20140517;
/**
* 枚举类
* ——实例有限且固定的类
* 手动实现枚举类
* ——通过private将构造器隐藏起来
* ——吧这个类的所有可能实例都使用public static final 修饰的类变量来保存
* -可以提供一些静态方法,其他程序根据特定参数来获取与之匹配的实例
* @author x
*
*/
class Season {
//把Season类定义成不可变的,将其Field也定义成final
private final String name;
private final String desc;
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 WINNER=new Season("冬天","围炉赏雪" );
public static Season getSeason(int seasonNum)
{
switch (seasonNum) {
case 1:
return SPRING;
case 2:
return SUMMER;
case 3:
return AUTUMN;
case 4:
return WINNER;
default:
return null;
}
}
//将构造器定义成private访问权限
private Season(String name, String desc)
{
this.name=name;
this.desc=desc;
}
//只为name和desc提供getter方法
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//调用方法
Season s1=Season.WINNER;
Season s2=Season.getSeason(1);
System.out.println(s2.getName());
}
}
69 Java 枚举类
最新推荐文章于 2022-08-20 10:34:23 发布