Published on

Java编程思想读书笔记(六)第19章-枚举类型

Authors
  • avatar
    Name
    Leon
    Twitter

19.4 values()的神秘之处

  通过反编译枚举类,values()是由编译器添加的static()方法。编译器将枚举类(enum)标记为final类,所以enum类无法被继承。

19.5 实现而非继承

  所有的enum类都继承自java.lang.Enum类。由于Java不支持多重继承,所以你的enum类不能再继其他类,然而,在我们创建一个新的enum时,可以同时实现一个或多个接口。

19.9 使用EnumMap

  与EnumSet一样,enum实例定义时的次序决定了其在EnumMap中的顺序。   常量相关的方法(constant-specific methods)。   多路分发(multiple dispatching)。

19.10 常量相关的方法

  通过相应的enum实例,我们可以调用其上的方法。这通常也称为表驱动的代码(table-driven code,请注意它与前面提到的命令模式的相似之处)。

19.10.1 使用enum的职责链

  职责链(Chain of Responsibility)。

19.11.1 使用enum分发

  一种方式是使用构造器来初始化每个enum实例,并以“一组”结果作为参数。这二者放在一块,形成了类似查询表的结构。


参考文献:

  1. 《Java编程思想(第4版)》——(美)Bruce Eckel 著 陈昊鹏 译