在2005年之后增加了枚举,它的功能与多例设计模式基本上一样。在JAVA中用enum来定义一个类,相当于这个类继承了Enum类,Enum这个的构造方法是私有的,定义如下:
如何证明这个是Enum类的继承:
在上面的代码中,我们可以调用不是在Color中定义的方法ordinal()与name()的方法,说明用它们具有继承关系。
在多例设计模式中我们可以在类中定义方法与方法等,枚举也可以,但是有要求:
1 枚举中的定义的构造方法不能够使用public声明:
2 枚举对象必须放在道行,随后才可以定义属性、构造方法、普通方法。
扩充枚举:
此时与多例设计模式操作方式完全相同,而且更加简单。
枚举实现接口:因为它可以看作是一个类,所以它可以像变通类那样来实现接口,这里不多介;我们现在在每一个对象后面使用匿名内部类的形式来实现接口:
枚举中定义抽象方法:
它的实现与使用匿名内部类的形式来实现接口差不多,还是每个单独实现。