jdk动态代理使用InvocationHandler实现为什么代理类一定要继承Proxy?

jdk动态代理使用InvocationHandler实现,最终生成的代理类是:


public final class $Proxy0 extends Proxy  implements UserService  {
}

我的问题是为什么最终生成的代理类会继承Proxy类,我觉得不继承,所有的功能都可以实现。。。。。。

网址如下,疑问出现在最后的部分
http://blog.csdn.net/starryni...

为什么不能由Proxy生成代理类的字节码,在代理类中定义一个变量并传入InvocationHandler对象的引用,而非继承Proxy呢?目前是调用父类的构造函数并使用子类传给父类的InvocationHandler来调用invoke,,我怎么觉得多此一举·········

阅读 6k
1 个回答
新手上路,请多包涵

这个问题我也思考了很久,必须继承Proxy类这个特性严重影响了JDK动态代理的使用范围,不知道为什么要这么设计

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题