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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© heima_xyu 中级黑马   /  2014-7-1 09:48  /  674 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class Demo {

  2.         /**
  3.          * 4、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.   

  4. public void setProperty(Object obj, String propertyName, Object value){   

  5. }
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {
  9.                 // TODO Auto-generated method stub
  10.                 //该题需要用到反射,为此我们新建Demo类,并在主函数创建对象d
  11.                 Demo2 d=new Demo2();
  12.                 //打印对象d的getStr方法,输出该方法返回的值
  13.                 System.out.println(d.getStr());
  14.                 //利用反射更改d对象的名为str的属性的值,改为“奇迹出现”
  15.                 setProperty(d,"str","奇迹出现");
  16.                 //输出更改后的str的结果
  17.                 System.out.println(d.getStr());
  18.         }
  19.         public static void setProperty(Object obj, String propertyName, Object value){   
  20.                 //将传入的对象的字节码保存在clazz中
  21.                 Class clazz=obj.getClass();
  22.                 try {
  23.                         /*获取对象名为传入的字符串的属性,注意:这里用到getFiled,
  24.                          * 因此只能检查public的成员变量,该题中我定义的成员变量权限
  25.                          * 是public,因此没有报告错误。(即使是default也会报告错误哦)
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马