1. 程式人生 > >Java程式設計思想(六)第19章-列舉型別

Java程式設計思想(六)第19章-列舉型別

目錄:

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例項,並以“一組”結果作為引數。這二者放在一塊,形成了類似查詢表的結構。