A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹操 黑马帝   /  2012-6-6 00:17  /  1418 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对一个写好的类,后期 想要进行值的修改,有几种方法?

2 个回复

倒序浏览
直接反射,如果是java bean还可以使用内省
回复 使用道具 举报
本帖最后由 刘克方 于 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");
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马