1. 程式人生 > >反射之暴力反射

反射之暴力反射

AccessibleObject 類是 Field、Method 和 Constructor 物件的基類。它提供了將反射的物件標記為在使用時取消預設 Java 語言訪問控制檢查的能力。對於公共成員、預設(打包)訪問成員、受保護成員和私有成員,在分別使用 Field、Method 或 Constructor 物件來設定或獲得欄位、呼叫方法,或者建立和初始化類的新例項的時候,會執行訪問檢查。
在反射物件中設定 accessible 標誌允許具有足夠特權的複雜應用程式(比如 Java Object Serialization 或其他永續性機制)以某種通常禁止使用的方式來操作物件。
setAccessible 
public void setAccessible(boolean flag) 
                   throws SecurityException 
將此物件的 accessible 標誌設定為指示的布林值。值為 true 則指示反射的物件在使用時應該取消 Java 語言訪問檢查。值為 false 則指示反射的物件應該實施 Java 語言訪問檢查。
實際上setAccessible是啟用和禁用訪問安全檢查的開關,並不是為true就能訪問為false就不能訪問