/**
* 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);
}
}
|
|