黑马程序员技术交流社区
标题:
关于反射的问题??
[打印本页]
作者:
曹操
时间:
2012-6-6 00:17
标题:
关于反射的问题??
对一个写好的类,后期 想要进行值的修改,有几种方法?
作者:
潘东升
时间:
2012-6-6 00:46
直接反射,如果是java bean还可以使用内省
作者:
刘克方
时间:
2012-6-6 08:59
本帖最后由 刘克方 于 2012-6-6 09:03 编辑
有两种方法:例如定义一个标准的JavaBean,名叫Person,包含属性name,使用反射方式调用setName方法对名称进行设置,不使用setName方法直接使用反射方式对name赋值。
//使用反射的方式创建一个实例、调用构造函数初始化name
Constructor constructor=pclass.getConstructor(new Class[]{String.class});
Person person=(Person) constructor.newInstance(new Object[]{"zhansan"});
//使用反射方式调用setName方法对名称进行设置
Method setNameMothod=pclass.getMethod("setName",new Class[]{String.class});
setNameMothod.invoke(person,"wangwu");
//不使用setName方法直接使用反射方式对name赋值
Field nameField=pclass.getDeclaredField("name");
nameField.setAccessible(true);
nameField.set(person,"lisi");
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2