黑马程序员技术交流社区
标题:
对之前那个题目的一种解法
[打印本页]
作者:
段海涛
时间:
2012-11-26 23:28
标题:
对之前那个题目的一种解法
本帖最后由 段海涛 于 2012-11-26 23:31 编辑
感谢同学们在贴
http://bbs.itheima.com/forum.php ... 93&page=1#pid189290
中对我的回复
我按照第二种理解对这个题目进行了code,请大神点评,帮我优化
目标类名为objTest
要求的方法所在的类为SetProp
主函数所在的类为Test4
public class Test4{
public static void main(String[] args) throws Exception{
SetProp sp = new SetProp();
sp.setProp();
}
}
class SetProp {
public void setProp() throws Exception{
objTest ot = new objTest();
setProperty(ot,"propertyName","my value------");
// System.out.println(ot.propertyName); //输出ot对象的属性propertyName的值,可以跟下面标+号的句验证,两者的输出应一致
}
public void setProperty(Object obj, String propName, Object value) throws Exception{
Class ooo =obj.getClass();
Object obj_reflect = ooo.newInstance();
//System.out.println(obj==obj_reflect); 注意这句,这里的判断结果是false哦
Field fd = ooo.getField(propName);
// System.out.println(fd.toString()); 通过这句话,你可以看到fd是个什么东东,是否确实获取到了obj里面的propertyName属性
fd.set(obj, (String)value); //通过这句话来对obj对象的propertyName赋值value
System.out.println(fd.get(obj)); // 输出obj的属性propertyName的值 -----“+”--------
}
}
class objTest{
public String propertyName;
}
复制代码
作者:
转角~依然笑
时间:
2012-11-26 23:43
顶。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2