為什麼Java 中不存在註解繼承
儘管繼承在Java 類別中很流行,但註解仍然是這種範例的例外。這個問題探討了這個設計決策背後的基本原理,特別是在出於驗證目的而導航註釋層次結構的背景下。
排除註釋繼承的主要動機,如 JSR 175 設計常見問題解答中所述,在於保持簡單性以及註釋類型系統的可訪問性。繼承會帶來複雜性,可能會阻礙「特定工具」的開發和維護。
這些「特定工具」是指在外部程式中檢查和處理註解的程序,而不需要將它們載入到虛擬機器中。範例包括基於註解的存根生成器。透過限制註解子類型,Java 確保這些實用程式能夠可靠地確定註解的存在和屬性,而無需類別載入的開銷。
雖然註釋繼承的缺失引起了批評,但值得注意的是 JDK團隊正在 JSR 308 下積極探索這個問題。此外,Mathias Ricken 還發布了一個引入此功能的替代編譯器,表明註釋繼承的大門可能尚未完全關閉。
以上是為什麼Java禁止註解繼承?的詳細內容。更多資訊請關注PHP中文網其他相關文章!