19.4 values()的神秘之處
透過反編譯枚舉類,values()是由編譯器新增的static()方法。編譯器將枚舉類別(enum)標記為final類,所以enum類別無法被繼承。
所有的enum類別都繼承自java.lang.Enum類別。由於Java不支援多重繼承,所以你的enum類別不能再繼其他類,然而,當我們創建一個新的enum時,可以同時實作一個或多個介面。
與EnumSet一樣,enum實例定義時的順序決定了其在EnumMap中的順序。
常數相關的方法(constant-specific methods)。
多路分發(multiple dispatching)。
透過對應的enum實例,我們可以呼叫其上的方法。這通常也稱為表格驅動的程式碼(table-driven code,請注意它與前面提到的命令模式的相似之處)。
職責鏈(Chain of Responsibility)。
一種方式是使用建構器來初始化每個enum實例,並以「一組」結果作為參數。這二者放在一塊,形成了類似查詢表的結構。
相關文章:
Java程式設計思想學習課程時(五)第18章-Java IO系統
以上是Java程式設計思想學習課程(六)第19章-枚舉類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!