為什麼是 super.super.method(); Java中禁止?
使用super.super.method();由於封裝問題,在 Java 中是被禁止的。封裝旨在防止繞過父類別的行為。
雖然有時繞過自己類別的行為(在同一方法內)是合理的,但不要繞過父類的行為至關重要。考慮以下類別層次結構:
定義以下內容是合乎邏輯的方法:
這確保子類別遵守其父類所施加的約束。
但是,如果允許super.super.add(),惡意的NaughtyCollection 子類別可能會繞過RedCollection 的紅色項目要求:
這會破壞 RedCollection 建立的不變量,創建一個可能不是紅色的項目集合。
因此,super.super Java 中禁止 .method() 呼叫以維護封裝並強制執行類別行為。
以上是為什麼 Java 中不允許使用「super.super.method();」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!