黑马程序员技术交流社区
标题:
这个题是什么意思?求解答
[打印本页]
作者:
段海涛
时间:
2012-11-26 21:36
标题:
这个题是什么意思?求解答
本帖最后由 段海涛 于 2012-11-26 21:38 编辑
写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.
public void setProperty(Object obj, String propertyName, Object value){ }
一种理解:题中的obj对象是不是特指的JAVA系统中根类——Object类 的一个实例?
但这样的实例应该不具备propertyName属性啊?
另一种理解:题中所谓obj对象及其propertyName属性都是我自己定义的?如果是这样理解的话,这题目相当容易
可是,究竟该怎么理解?求大神解答
作者:
刘子义
时间:
2012-11-26 21:49
是你的第二种理解,因为出题人不知道你自定义的类的类名,所以就用Object类型泛指,毕竟Object是上帝类,所有java类都可以转型成Object类型。
作者:
ljhheima
时间:
2012-11-26 21:53
题目的意思我懂,但我不会做
意思是将Object中某一属性设置值设为value;
该属性属性名用参数传入
作者:
ljhheima
时间:
2012-11-26 22:04
本帖最后由 ljhheima 于 2012-11-26 22:06 编辑
刘子义 发表于 2012-11-26 21:49
是你的第二种理解,因为出题人不知道你自定义的类的类名,所以就用Object类型泛指,毕竟Object是上帝类,所 ...
这是Object及其子类,即除了基本数据类型的任何对象
不只是你创建的类
可以是任何类的任何非private和protect属性
作者:
⋛⋋⊱⋋飞☠扬
时间:
2012-11-26 22:47
类的属性 肯定是私有的 所以 肯定有GET SET方法 那就太简单了 ....
public void setProperty(Object obj, String propertyName, Object value){
obj.setpropertyName(value);
}
作者:
段海涛
时间:
2012-11-26 23:19
呵呵,这个题是考的反射,因为要设置的虽然是一个成员属性的值,但题目给你的是这个成员属性的名称,是一个字符串,“propertyName”,
显然不能通过这样的方式来赋值 obj()."propertyName" = value
所以,必须用到反射来对obj对象的propertyName成员进行赋值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2