為什麼Java 傳統上不允許靜態介面方法
在8 之前的Java 版本中,介面中不允許使用靜態方法,因為沒有強制性的方法介紹它們的技術原因。 Java 7 中提議的包含方法面臨不可預見的複雜性,導致其被刪除。
不可變靜態方法的基本原理
靜態方法在編譯時是可解析的,因為它們需要要呼叫的已知類別。動態調度用於實例方法,需要在運行時確定物件的特定類型,因此不能應用於靜態方法。
重寫靜態方法:一個不必要的概念
重寫(子類別實作與其超類別具有相同簽章的方法)與靜態方法無關。這是因為包含所需方法的類別在編譯時是已知的。明確指定類別消除了重寫的需要。
Java 8:介面的新時代
隨著 Java 8 的引入,介面現在可以包含靜態方法,由 lambda 表達式支援啟用的功能。但是,介面中仍然不允許實例欄位。
「建構函數介面」的替代方法
要為實作IXMLizable 的類別強制使用一致的工廠方法,請考慮:
以上是為什麼 Java 介面最初禁止使用靜態方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!