黑马程序员技术交流社区
标题:
反射
[打印本页]
作者:
xiexie758
时间:
2015-10-31 23:24
标题:
反射
反射得理解透才能吃的消啊...
作者:
黑夜中那颗星
时间:
2015-11-1 00:18
不要想的那么麻烦,其实就是对类的解剖,可以取出所有的属性和方法
思路清晰就行,比如我们改变一个名为num整型变量的值
Class Demo{
private int num;
}
第一步:肯定是获取字节码对象 Class cla = Class.forName("Demo");我这里就不写包名了,要写完整的包名.Demo
第二步:获取Demo对象 Demo demo = (Demo)cla.newInstance();
第三步:获取变量 Field field = cla.getDeclaredField("num");因为是权限是私有的,所以要用这个方法获取,如果不是私有的可以用cla.getField方法就行了
第四步:设置成可访问的 field.f.setAccessible(true);
第五步:设置值就行了 field.set(demo,100); 两个参数,第一个参数是对象,要把值设置在哪个对象上,第二个是需要设置的值
多做几遍反射方面的题就有思路了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2