黑马程序员技术交流社区

标题: 请问动态代理的问题。 [打印本页]

作者: 王渠    时间: 2012-8-6 20:11
标题: 请问动态代理的问题。
动态代理的时候,进行类型强制转换不能转换成实际类型,而需要转换成接口?
请问是为何呢?
为何强制转换成实际类型的时候,会出现类型转换异常呢?

作者: 黄珊珊    时间: 2012-8-27 18:25
首先要弄清楚Java动态代理的特点:
它是通过实现InvocationHandler接口创建自己的调用处理器;
为Proxy类指定ClassLoader对象和一组interface来创建动态代理类;
通过反射机制获得动态代理类的构造函数,其唯一参数类型是调用处理器接口类型
Java中不允许多继承,那么动态代理类无法实现对class的动态代理;它都需要制定一个实现了该接口的调用处理器对象。所以在动态代理的时候都需要转换成接口。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2