33、按照书上说的地方模仿着自己实现一个枚举类。
其实有几个要点,
(1)把构造器设置为private
(2)提前声明静态变量,也就是要成为枚举值的那些变量,需要用public static final 进行修饰
(3)提供一个get枚举类的方法,和getprivate变量的方法。
public class Test
{
public static void main(String[] args)
{
Rick rick = Rick.CHILD;
System.out.println(rick.getPeriod());
System.out.println(rick.getDesc());
}
}
class Rick
{
private final String period;
private final String desc;
public static final Rick CHILD = new Rick("童年时期","天才中的天才");
public static final Rick TEENAGER = new Rick("青少年时期","天才的发明家");
public static final Rick YOUNG = new Rick("年轻时候","Rick,是Rick");
public static final Rick OLD = new Rick("老人Rick","疯狂的Rick");
public static Rick getRick(int code)
{
switch(code)
{
case 1:
return CHILD;
case 2:
return TEENAGER;
case 3:
return YOUNG;
case 4:
return OLD;
default:
return null;
}
}
private Rick(String period , String desc)
{
this.period = period;
this.desc =desc;
}
public String getPeriod()
{
return period;
}
public String getDesc()
{
return desc;
}
}