黑马程序员技术交流社区

标题: 写一个方法,此方法可将obj对象中名为propertyName的属性的... [打印本页]

作者: b277967086    时间: 2015-4-24 20:09
标题: 写一个方法,此方法可将obj对象中名为propertyName的属性的...
/**
* 1、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.   
* public void setProperty(Object obj, String propertyName, Object value){   
*}  
*
*/

package com.itheima;
import java.lang.reflect.Field;
public class Test1 {
        // 定义方法
        public void setProperty(Object obj, String propertyName, Object value)
                        throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
                // 由于不知道该对象的类以及成员变量的值是否是私有,所以用反射实现
                // 获取该类的对象
                Class c = obj.getClass();
//                获取成员变量对象
                Field field = c.getDeclaredField(propertyName);
//                设置访问权限为所有的都允许
                field.setAccessible(true);
//                给对象赋值
                field.set(obj, value);
               
        }

}

作者: b277967086    时间: 2015-4-24 20:10
来看看,测试题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2