用枚举型常量怎么定义变量?
enum day{sunday,monday,tuesday,wendsday,thursday,friday,stadurday};
这句定义了符号化的常量sunday,monday等等。在下面的程序中,可以声明枚举型变量day today,对其赋值,或者判断它的值。
定义枚举型的好处主要有二,首先增强程序可读性,sunday、monday肯定比0,1容易理解;其次可以对变量类型与取值进行限定。
枚举型常量即某种枚举型的合法取值,此例中,sunday,monday,tuesday,wendsday,thursday,friday,stadurday是枚举型常量。在编译时确定各个常量的对应值。枚举型变量指的是声明为已定义枚举类型的变量。如此例中的today。
枚举型的定义四种基本数据类型,可以用来表达数,字符,真假的描述。但我们还是觉得有点缺欠:它们不能方便地进行一些标识符的描述,如:红,橙,黄,绿,青,蓝,紫七种颜色,要在数据类型中要把它们直接表达出来,我们觉得有障碍。
而在计算机内有没有这种数据类型,能够很方便地将它们表示出来?有,枚举型能办到。用四种基本数据类型不便表示的标识符,而且这些标识符的数量是有限的,我们可以用枚举的方法来表达它,把要用的所有标识符全部枚举出来。这种方法比较接近自然语言的表达。
枚举和注解都是在Java1.5中引入的,虽然他们是后起之秀,但是功能不容小觑,枚举改变了常量的声明方式,注解耦合了数据和代码.
建议83:推荐使用枚举定义常量
分析
常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量。不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量。代码如下:
1 enum Season{
2 Spring,Summer,Autumn,Winter;
3 }
JLS(Java Language Specification,Java语言规范)提倡枚举项全都大写,字母之间用下划线分隔.这也是从常量的角度考虑的.