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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 飞舞❤心动 于 2012-6-8 22:59 编辑

看了张i老师的基础加强最后阶段的代理,看得云里雾里,我只知道他是以个类,明白代理是在源类下面衍生出来的加强类Proxy,具体到InovocationHandler就郁闷了,到底怎么理解?难道代理也是通过反射实现的?望指教!

2 个回复

正序浏览
Invocation就是代理实例的调用处理对象,看下面这个简图,当然张老师那个更详细:

代理类连接被代理类和调用处理对象(InvocationHandler),对被代理类的方法处理是交给了InvocationHandler,然后它对方法进行封装和修改,也就是实际上方法还是被代理类的方法,但是会做些修改,比如在方法调用前后增加系统功能。

点评

受教  发表于 2012-6-8 22:58

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
InvocationHandler 是代理实例的调用处理程序 实现的接口,也就是说你要想让代理实现比目标类更多额外的功能,就必须把invocationhandler的子类对象作为参数传入代理的构造函数,并把额外实现的功能放入子类的invoke()方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马