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);
http://blog.csdn.net/kjfcpua/article/details/8496911