Java編程思想(六)第19章-枚舉類型

目錄:

Java編程思想(一)第1~13、16章
Java編程思想(二)第14章-類型信息
Java編程思想(三)第15章-泛型
Java編程思想(四)第17章-容器深入研究
Java編程思想(五)第18章-Java IO系統
Java編程思想(六)第19章-枚舉類型
Java編程思想(七)第20章-註解
Java編程思想(八)第21章-併發

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章