1700445929
1700445930
public final static int Spring=0;
1700445931
1700445932
public final static int Summer=1;
1700445933
1700445934
public final static int Autumn=2;
1700445935
1700445936
public final static int Winter=3;
1700445937
1700445938
//最舒服的季节
1700445939
1700445940
public static int getComfortableSeason(){
1700445941
1700445942
return Spring;
1700445943
1700445944
}
1700445945
1700445946
}
1700445947
1700445948
想想看,我们要怎么才能打印出“The most comfortable season is Spring”这句话呢?除了使用switch判断外没有其他办法了。
1700445949
1700445950
虽然枚举常量在很多方面比接口常量和类常量好用,但是有一点它是比不上接口常量和类常量的,那就是继承,枚举类型是不能有继承的,也就是说一个枚举常量定义完毕后,除非修改重构,否则无法做扩展,而接口常量和类常量则可以通过继承进行扩展。但是,一般常量在项目构建时就定义完毕了,很少会出现必须通过扩展才能实现业务逻辑的场景。
1700445951
1700445952
注意 在项目开发中,推荐使用枚举常量代替接口常量或类常量。
1700445953
1700445954
1700445955
1700445956
1700445958
编写高质量代码:改善Java程序的151个建议 建议84:使用构造函数协助描述枚举项
1700445959
1700445960
一般来说,我们经常使用的枚举项只有一个属性,即排序号,其默认值是从0、1、2……这一点我们非常熟悉。但是除了排序号外,枚举还有一个(或多个)属性:枚举描述,它的含义是通过枚举的构造函数,声明每个枚举项(也就是枚举的实例)必须具有的属性和行为,这是对枚举项的描述或补充,目的是使枚举项表述的意义更加清晰准确。例如有这样的一段代码:
1700445961
1700445962
enum Season{
1700445963
1700445964
Spring(“春”),Summer(“夏”),Autumn(“秋”),Winter(“冬”);
1700445965
1700445966
private String desc;
1700445967
1700445968
Season(String_desc){
1700445969
1700445970
desc=_desc;
1700445971
1700445972
}
1700445973
1700445974
//获得枚举描述
1700445975
1700445976
public String getDesc(){
1700445977
1700445978
return desc;
[
上一页 ]
[ :1.700445929e+09 ]
[
下一页 ]