A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗凯健 中级黑马   /  2013-9-25 02:15  /  1542 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代理类是否只能代理目标的方法,我尝试调用目标的属性的时候是不成功的(当然不成功InvocationHandler只有invoke方法)。我想问下如果真的要调用目标的属性那怎么办?

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

3 个回复

倒序浏览
你确定要调用属性?调用方法有意义,调用属性有什么意义,只能获取属性值罢了,并且前提是你得知道对象里面封装的属性名,然后分为2中情况获取:
如果是javaBean类可以使用BeanUtils.getProperty(引用名, 属性名)来获取,
如果不是javaBean,就只能通过反射target.getClass().getField(属性名);来获取了

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
楼主,感觉要先了解以下代理的意义,为什么要代理,像上面那个朋友说的,调用方法有意义,调用属性有什么意义,
调用方法有意义,调用属性有什么意义

代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。
代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信。

希望可以帮到楼主...

The you smile until forever .....................

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
yting_xmei1129 发表于 2013-9-25 14:23
楼主,感觉要先了解以下代理的意义,为什么要代理,像上面那个朋友说的,调用方法有意义,调用属性有什么意 ...

嘻嘻,只是作一种讨论,调用属性确实没什么意义
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马