反射setAccessible()方法

java代碼中,常常將一個類的成員變量置爲private

在類的外面獲取此類的私有成員變量的value時

  1.  Class clazz = Class.forName("com.test.accessible.AccessibleTest");  
  2.         AccessibleTest model = new AccessibleTest();  
  3.         model.setId(1);  
  4.         model.setName("AT");  
  5.         for (Field f : clazz.getDeclaredFields()) {  
  6.             f.setAccessible(true);//AccessibleTest類中的成員變量爲private,故必須進行此操作  
  7.             System.out.println(f.get(model));//獲取當前對象中當前Field的value  
  8.         }  
  9. //獲取某個類的靜態屬性時,不需要傳參數 (靜態屬性屬於類)
  10. Field field = clazz.getClass().getDeclaredField("STATIC_FIELD");
    field.setAccessible(true);
    tableName = (String) field.get(null);


http://blog.csdn.net/kjfcpua/article/details/8496911

發佈了17 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章