首页 百科知识 枚举类型的定义及其使用

枚举类型的定义及其使用

时间:2022-08-25 百科知识 版权反馈
【摘要】:实际上,定义枚举类型就是在定义一个类,而且是定义继承java.lang.Enum类的子类。枚举类型的关键字enum的作用就像是class或interface。可以通过枚举类型名.枚举常量名的格式使用枚举常量。而在枚举类型中定义枚举常量的好处是:编译器可以进行类型检查,检查是否为枚举常量。

6.6.1 枚举类型的定义及其使用

枚举类型的定义格式是:

img393

例如,定义服装尺寸大小的枚举类型:

实际上,定义枚举类型就是在定义一个类,而且是定义继承java.lang.Enum类的子类。所以编译完成后,会产生一个字节码文件如ClothesSize.class文件。只不过很多细节编译器帮程序员做了,如不需要程序员显示地写出extends java.lang.Enum。枚举类型的关键字enum的作用就像是class或interface。

在枚举类型的类体中,每个被枚举的成员就是该枚举类型的一个对象(实例),其默认的类型为public static final,称为枚举常量,这些枚举常量在枚举类型装入并初始化时自动创建,除了这些常量,枚举类型不会有其他的对象。可以通过枚举类型名.枚举常量名的格式使用枚举常量。

说明:在没有枚举类型以前,常量通常定义在类中或接口里。而在枚举类型中定义枚举常量的好处是:编译器可以进行类型检查,检查是否为枚举常量。

枚举类型可作为一个独立的类来定义,或作为内部类来定义。

【例6-7】 一个星期七天枚举类型作为独立类的应用举例。

img395

程序执行结果:

img396

思考与分析:(1)从WeekDay.MONDAY、WeekDay.WEDNESDAY、WeekDay.FRIDAY的引用可以看出,枚举常量的引用格式为:枚举类型名.枚举常量名。

(2)在WeekDay day中,day是枚举类型的引用变量,只能将枚举常量或null赋值给它。

(3)枚举类型可以应用于switch语句中,switch中为枚举变量,case后是枚举常量。

模仿例6-7:设计一个颜色枚举类型,使之作为独立类,来显示枚举常量自身的名称。

【例6-8】 服装尺寸大小枚举类型作为内部类的应用举例。

img397

程序执行结果:

img398

思考与分析:(1)作为内部类枚举类型,其private修饰符体现了封装。

(2)方法的形参是枚举变量,方法的实参可以是枚举常量,也可以是枚举变量。

模仿例6-8:改写例6-7,编程使用内部类实现同样的功能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈