package com.itheima;
import java.lang.reflect.Field;
/**
* 实现给某对象的某属性赋予指定的值
* @author 老衲玩IT
*
*/
public class Test {
public void setProperty(Object obj, String propertyName, Object value){
try {
//获得类字节码,再通过属性名字获得类定义的属性
Field field=obj.getClass().getDeclaredField(propertyName);
//如果为私有的,强制设置其可访问
if (!field.isAccessible()) {
field.setAccessible(true);
}
field.set(obj, value);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
}
}
|
|