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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山水游客 中级黑马   /  2012-7-25 14:09  /  1272 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

生成动态代理类为什么要实现一个或多个接口?

2 个回复

倒序浏览
代理类的每个方法都要调用目标类的方法。
也就是代理类和目标类要有相同的接口。
所以代理类实现一个或多个接口就可以为一个或多个目标类实现代理功能。

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
动态代理机制的核心就是InvocationHandler接口。此接口中仅定义了一个invoke(Object obj,Method method)方法。使用时,obj指代理类,method指被代理的方法
根据通用的设计原则:接口定义类型、类定义实现,代理对象可以实现一个或多个接口,但是不能实现类。
因为代理类没有可以访问的名称,不能有构造函数,所以代理类必须由工厂创建
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马