黑马程序员技术交流社区
标题:
这句代码什么意思?为什要加上?
[打印本页]
作者:
张绍成
时间:
2011-12-28 20:26
标题:
这句代码什么意思?为什要加上?
本帖最后由 张绍成 于 2011-12-29 19:26 编辑
我想知道:
field.setAccessible(true);
复制代码
有什么作用?
Class clazz2 = Class.forName("cn.itcast.interview.test2.Person");
Object p = clazz.newInstance();
Field field = clazz2.getDeclaredField("age");
field.setAccessible(true);
field.set(p, 18);
System.out.println(field.getInt(p));
复制代码
作者:
yunqiangshan
时间:
2011-12-28 20:38
age要是私有的话,用一般反射方式拿不到,必须这样field.setAccessible(true)设置才能拿到私有的age属性,暴力反射,呵呵。
作者:
吴上储
时间:
2011-12-28 21:35
field.setAccessible(true); //我的理解是 允许访问获取到的变量
作者:
颜宗茂
时间:
2011-12-28 21:47
Person中age是私有反射方式拿不到该成员变量,必须这样field.setAccessible(true)设置后就可以访问私有的age属性,也叫暴力反射,老师有讲到的 ,呵呵。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2