不好意思啊楼主。
没听明白你的意思,你能否贴出代码看看?
首先反射就是用Class中的方法得到你所要操作的类的.class字节码,然后就可以通过这个字节码得到这个类的Field Method Construtor,得到这些,就可以创建对象,得到方法,属性,进一步就可以对对象进行你想要的修改了
下面说下得到类字节码的三种方式
1.类名.class 比如 String.class 这样就得到了String这个类的字节码。这种方式很显然得先知道你所要操作的类名
2.对象.getClass() 比如"abc".getClass() 这样也能得到String类的字节码。这种方式的前提是得有一个已经创建的对象。
3.Class.forName(类名) 这种方式是将类的字节码加载进内存,可能这时候这个类的字节码已经不在内存中了,那么就就加载进内存,如果内存中已经存在了,就直接拿出来用。这种方式跟前两钟稍稍不同
得到字节码后就是取得这个类的各种方法和属性了
用getConstructor()得到构造函数
用getField()得到类的属性
用getMethod()得到类的方法
之后就是各种操作了 详细的情参照api
最后,建议你先看张孝祥老师的高新技术视频。我都是在那上边学的
|