创建枚举类型的主要目的是为了定义一些枚举常量。枚举的基本定义格式是
[枚举类型修饰词列表] enum 枚举类型标识符
{
枚举常量1,枚举常量2,...,枚举常量n
}
其中,“[ ]”表示枚举类型修饰词列表是可选性;枚举类型修饰词列表用来说明所定义的枚举类型的属性,可以包含0个、1个或多个枚举类型修饰词。如果包含多个枚举类型修饰词,则在响铃的枚举类型修饰词之间采用空格分割开。枚举类型修饰词可以是public等,但不能是protected、private、abstract。如果枚举类型修饰词含有public,则要求该枚举定义所以在的文件名前缀与枚举类型标识符指定的名字相同,并且以“.java”作为后缀。而且在该文件中不能含有其他属性为public的类、接口或枚举。每个Java源程序文件可以含有可以含有多个类,接口或枚举,但其中属性为public的只能有0个或1个。枚举类型修饰词public表明该枚举能够被各个软件包的所有类或接口所访问。如果在枚举类型修饰词中不含public,则表明该枚举类型的封装性为默认方式,只能在同一个包的内部使用。枚举类型标识符以及枚举常量常量1、枚举常量2、....枚举常量n可以采用一些合法的标识符标识,其中,枚举常量1、枚举常量2、... 枚举常量n定义了一些枚举常量
例如:
enum E_SEASON
{
春季,夏季,秋季,冬季
}//枚举E_SEASON结束
定义了枚举类型E_SEASON,它包含四个枚举常量:春季、夏季、秋季、冬季。下面的部分实例采用了上面定义的枚举类型E_SEASON
枚举类型变量简称为枚举变量,其定义格式有两种,分别是:
枚举类型标识符 枚举变量;
枚举类型标识符 枚举变量1,枚举变量2,...,枚举变量n;
在上面定义的格式中,第一种格式每次只定义一个枚举变量;第二种格式同时定义多个枚举变量,变量之间通过用逗号分隔开。另外,还可以定义枚举数组变量,其定义格式与其他类型数组变量定义格式相同。例如:语句
E_SEASON [ ] s;
定义了枚举数组变量s,其中E_SEASON是前面定义的一种枚举类型。
对于枚举类型,不能通过new运算符创建实例对象。可以通过直接枚举类型标识符访问枚举常量,例如:语句
E_SEASON s =E_SEASON.春季;
定义了E_SEASON枚举类型变量s,他的值为E_SEASON.春季。对于枚举常量,它有些类似于类的静态成员域,即可通过枚举变量访问枚举常量,而且通过枚举变量访问枚举常量与直接通过枚举类型标识符访问枚举常量是一样的。