使用Java反射API的一個重要好處是可以繞過Java語言中默認的訪問控制權限。Constructor、Filed和Method都繼承自java.lang.reflect.AccessibleObject,其中的setAccessible方法可以用於設置是否繞過默認的權限檢查,否則,訪問非public的方法或者字段將產生IllegalAccessException異常。
而在利用Invoke方法來調用方法是,如果方法本身拋出異常,invoke方法將拋出InvocationTargetException異常,通過getCause方法可以獲取實際的異常信息。
在Java7中,爲所有與反射相關的異常類添加了一個統一的父類java.lang.ReflectiveOperationException,在處理反射相關的異常時可以直接捕獲該異常而不用分別捕獲各個異常子類。
關於Java動態性,除了反射機制外,Java7中提供了一種新的動態調用Java程序的方法,即方法句柄MethodHandler,有些類似於C中的函數指針。此部分內容將在後續的文章中進行單獨的分析。
java反射——關於權限和異常
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
java 學習泛型遇到的問題
爱上学习
2018-08-27 20:04:12
JSP 中的2種包含(導入)
爱上学习
2018-08-27 20:03:43
HashMap部分源碼閱讀,主要是put方法相關的部分
HeiShuaiGuo
2018-08-27 20:03:32
public String(byte[] bytes, int offset, int length)
Myrkyn
2018-08-27 20:03:04
jstl標籤 fmt:formatDate 設置當前時間顯示星期幾
HaHa_Sir
2018-08-27 20:02:59
Java 反射,reflect
crossy
2018-08-27 20:02:58
JVM的內存區域劃分
相由心生fhy
2018-08-27 20:02:39
SpringMVC使用ajax 實現文件下載
HaHa_Sir
2018-08-27 20:02:23
java寫一個簡單的jdbc數據庫連接池
HaHa_Sir
2018-08-27 20:02:23
Servlet輸出JSON數據Servlet向瀏覽器返回JSON數據
HaHa_Sir
2018-08-27 20:02:22
原生Servlet文件上傳和下載Servlet多個文件上傳
HaHa_Sir
2018-08-27 20:02:22
GET和POST請求的區別
HaHa_Sir
2018-08-27 20:02:21
java Object 類中clone方法用法記錄
HaHa_Sir
2018-08-27 20:02:21
SpringMVC重定向參數中文丟失和MyBatis關聯查詢時問題總結
HaHa_Sir
2018-08-27 20:02:21
java註解學習---@Inherited註解的理解學習(四)
HaHa_Sir
2018-08-27 20:02:09