java代碼中,常常將一個類的成員變量置爲private
在類的外面獲取此類的私有成員變量的value時
- Class clazz = Class.forName("com.test.accessible.AccessibleTest");
- AccessibleTest model = new AccessibleTest();
- model.setId(1);
- model.setName("AT");
- for (Field f : clazz.getDeclaredFields()) {
- f.setAccessible(true);//AccessibleTest類中的成員變量爲private,故必須進行此操作
- System.out.println(f.get(model));//獲取當前對象中當前Field的value
- }
- //獲取某個類的靜態屬性時,不需要傳參數 (靜態屬性屬於類)
-
Field field =
clazz.getClass().getDeclaredField("STATIC_FIELD");
field.setAccessible(true);
tableName = (String) field.get(null);