無法擴充枚舉類別以新增元素
Java 列舉是最終類,不能子類化。修改現有枚舉以新增元素是不可行的。 Java 枚舉設計可確保在編譯時明確已知所有可能的值。
考慮以下程式碼:
enum A { a, b, c } enum B extends A { d }
雖然 B 可能擴展了 A 並添加了新元素 d ,這在 Java 中是不可能的。以新值擴充枚舉會導致不一致,因為 d 既是 A 的實例,也是 B 的不同值。
此外,枚舉的目的是定義一組固定的已知值。使用新元素擴充枚舉會破壞這個概念,並為只熟悉原始枚舉值的使用者帶來歧義。
不要擴展枚舉,而是考慮符合 Java 不變性和編譯原則的替代解決方案 -時間安全。例如,您可以使用所需的值建立新的枚舉,或使用組合來建立封裝枚舉並根據需要提供附加功能的類別。
以上是為什麼我無法擴展 Java 枚舉類別以新增元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!