非法反射存取
在Java 9 中,非法反射存取是指以違反增強封裝原則的方式使用反射API 的情況由模組系統引入。當一個模組中的程式碼在未經適當授權的情況下嘗試存取另一模組中類別的私有或受保護成員時,可能會發生這種情況。
非法反射存取的定義
非法反射存取被定義為任何反射操作:
觸發情況
在以下情況下會觸發非法反射存取:
模組系統和寬鬆封裝
Java 9 引入了寬鬆強封裝規則,允許某些有限形式的反射存取。具體來說,它允許模組的運行時系統打開模組中的包以在未命名模組中進行編碼(即類路徑上的代碼)。如果使用此選項呼叫運行時系統,並且成功地使用反射,否則會失敗,則發生「非法」反射存取。
警告訊息
發生非法反射存取時,會發出以下格式的警告訊息:
警告:非法反射$PERPETRATOR 存取$VICTIM
,其中:
以上是Java 9 中的非法反射存取是什麼以及它是如何表現的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!