首页 理论教育 枚举类型的构造方法

枚举类型的构造方法

时间:2022-02-28 理论教育 版权反馈
【摘要】:枚举类型既然是类,那么就可以有构造方法。只不过只能是私有的,不能有公有的构造方法,这是为了避免直接对枚举类型实例化。如果没有显示定义构造方法,编译系统会为枚举类型提供一个默认的不带形参的构造方法。模仿例6-11:编程实现LARGE,MEDIUM,SMALL实参列表的枚举常量构造方法。每个枚举常量{}之间是类体,并在类体中实现了接口的抽象方法。

6.6.4 枚举类型的构造方法

枚举类型既然是类,那么就可以有构造方法。只不过只能是私有的(private),不能有公有的(public)构造方法,这是为了避免直接对枚举类型实例化。

【例6-11】 枚举类型的构造方法举例。

img403

程序运行结果:

国内核心期刊的系数:1.2

思考与分析:(1)当创建枚举类型的常量对象时,运行系统会调用相应的构造方法。如果没有显示定义构造方法,编译系统会为枚举类型提供一个默认的不带形参的构造方法。

(2)枚举常量可以包含一个实参列表,如SCI(2.2),EI(1.5),DomesticCoreJournal (1.2);。在枚举类型中,如果定义带实参的枚举常量对象,那么就应该有相应的带形参的构造方法,否则会引发编译错误。当创建带实参的枚举常量对象时,运行系统会将各实参传递给相应构造方法对应的形参。

(3)一般来说,不能使用new实例化一个枚举类型。

模仿例6-11:编程实现LARGE(“大号”),MEDIUM(“中号”),SMALL(“小号”)实参列表的枚举常量构造方法。

【例6-12】 枚举类型实现接口的举例

img404

程序运行结果:

LARGE:大号

MEDIUM:中号

SMALL:小号

思考与分析:(1)枚举类型实现了接口IDescription。用统一的调用接口,打印枚举常量各自的字符串。

(2)枚举类型中可以定义一些方法,甚至可以为每一个枚举常量定义方法。每个枚举常量{}之间是类体,并在类体中实现了接口的抽象方法。

模仿例6-12:使用枚举类型实现接口,改写例6-10,完成同样的功能。

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

我要反馈