使用枚举时,另外要注意以下几点:
(1) 枚举类型不能使用extends关键字,但是可以使用implements关键字。这样我们可以把不同枚举类型共有的行为提取到接口中,来规范枚举类型的行为。
(2) 永远不能直接调用枚举构造函数。通过在常量后面定义的变元,会自动调用枚举构造函数。枚举类型的自定义构造函数并不能覆盖默认执行的构造函数,它会跟在默认构造函数之后执行。可以重载枚举的构造方法。
(3) 枚举类型的自定义构造函数必须是私有的,但你不能显式加private,否则会出错
(4)枚举类型中枚举常量的定义必须放在最上面,其后才能是变量和方法的定义。
(5)枚举中的常量默认都是public static final,这就是为什么枚举中的常量建议全大写的原因,虽然它默认是public static final,但你在声明常量时却不能显式使用public static final,否则编译器反而会报错误。
(6)enum a{}; 最后边的分号是可有可无的,编译器不会有反应。
(7)public enum Colors{
RED,BLUE,GREEN,YELLOW,GRAY;
//GRAY后面若没有其它的语句,则其后面的分号可不写,若后面有语句则必须添加,这个分号类似于数组:int[] a = {1,2,3,}; 里边最后一个逗号是可有可无的。
|