本文实例讲述了Java手动方式创建枚举类。分享给大家供大家参考,具体如下:
一 点睛
可以采用如下设计方式手动创建枚举类
通过private将构造器隐藏起来。
把这个类的所有可能实例都使用public static final属性来保存。
如果有必要,可以提供一些静态方法,允许其他程序根据特定参数来获取与之匹配实例。
二 代码
1 Season.java
public class Season {
// 把Season类定义成不可变的,将其成员变量也定义成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 FALL
= new Season("秋天", "秋高气爽");
public static final Season WINTER
= new Season("冬天", "围炉赏雪");
public static Season getSeason( int seasonNum ) {
switch (seasonNum) {
case 1:
return SPRING;
case 2:
return SUMMER;
case 3:
return FALL;
case 4:
return WINTER;
default:
return null;
}
}
// 将构造器定义成private访问权限
private Season( String name, String desc ) {
this.name = name;
this.desc = desc;
}
// 只为name和desc提供getter方法
public String getName() {
return this.name;
}
public String getDesc() {
return this.desc;
}
}
2 SeasonTest.java
public class SeasonTest
{
public SeasonTest(Season s)
{
System.out.println(s.getName() +
",这真是一个"+ s.getDesc() + "的季节");
}
public static void main(String[] args)
{
// 直接使用Season的FALL常量代表一个Season对象
new SeasonTest(Season.FALL);
}
}
三 运行
秋天,这真是一个秋高气爽的季节
希望本文所述对大家java程序设计有所帮助。