您的位置:首页 > 编程语言 > Java开发

java枚举类

2013-10-20 16:31 99 查看
/*实例有限且固定的类,比如季节,星期等,可以设成枚举类,Java5新增的enum关键字(与class,interface地位相同)用以定义枚举类。它可以有自己的field,方法,可以实现一个或者多个接口,也可以定义自己的构造器。
*/
public enum SeasonEnum {
//枚举类的所有实例必须在枚举类的第一行显式列出,系统会自动为之添加public static final修饰,无需程序员显式添加。
SPRING,SUMMER,FALL,WINTER;
}

/*JDK1.5,switch的控制表达式可以是任意枚举类型,后面的case表达式的值直接使用枚举值的名字*/
public class EnumTest {
public void judge(SeasonEnum s)
{
switch(s)
{
case SPRING:
System.out.println("春天");
break;
case SUMMER:
System.out.println("夏天");
break;
case FALL:
System.out.println("秋天");
break;
case WINTER:
System.out.println("冬天");
break;
}
}
public static void main(String[] args) {
//所有枚举类都有一个values()方法,返回枚举类的所有实例
for(SeasonEnum s:SeasonEnum.values())
{
System.out.println(s);
}
//访问枚举类某个实例时,可使用EnumClass.variable形式
new EnumTest().judge(SeasonEnum.SPRING);
}

}

/*枚举类通常应该设计成不可变类,field值不允许改变更安全,应该用private final修饰field*/
public enum SeasonEnum {
//枚举值调用构造器来创建
SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天");
private final String seasonName;
//枚举类的构造器只能使用private修饰
private SeasonEnum(String seasonName)
{
this.seasonName=seasonName;
}
public String getName()
{
return this.name();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  enum java