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