Java手动方式创建枚举类示例
本文实例讲述了Java手动方式创建枚举类。分享给大家供大家参考,具体如下:
一点睛
可以采用如下设计方式手动创建枚举类
- 通过private将构造器隐藏起来。
- 把这个类的所有可能实例都使用publicstaticfinal属性来保存。
- 如果有必要,可以提供一些静态方法,允许其他程序根据特定参数来获取与之匹配实例。
二代码
1Season.java
publicclassSeason{
//把Season类定义成不可变的,将其成员变量也定义成final的
privatefinalStringname;
privatefinalStringdesc;
publicstaticfinalSeasonSPRING
=newSeason("春天","趁春踏青");
publicstaticfinalSeasonSUMMER
=newSeason("夏天","夏日炎炎");
publicstaticfinalSeasonFALL
=newSeason("秋天","秋高气爽");
publicstaticfinalSeasonWINTER
=newSeason("冬天","围炉赏雪");
publicstaticSeasongetSeason(intseasonNum){
switch(seasonNum){
case1:
returnSPRING;
case2:
returnSUMMER;
case3:
returnFALL;
case4:
returnWINTER;
default:
returnnull;
}
}
//将构造器定义成private访问权限
privateSeason(Stringname,Stringdesc){
this.name=name;
this.desc=desc;
}
//只为name和desc提供getter方法
publicStringgetName(){
returnthis.name;
}
publicStringgetDesc(){
returnthis.desc;
}
}
2SeasonTest.java
publicclassSeasonTest
{
publicSeasonTest(Seasons)
{
System.out.println(s.getName()+
",这真是一个"+s.getDesc()+"的季节");
}
publicstaticvoidmain(String[]args)
{
//直接使用Season的FALL常量代表一个Season对象
newSeasonTest(Season.FALL);
}
}
三运行
秋天,这真是一个秋高气爽的季节
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。