我想问一下,为什么实现UserDao的代理而不实现UserDaoImpl的代理?

我想问一下,为什么实现UserDao的代理而不实现UserDaoImpl的代理?

肯定有区别  但是我不太清楚  希望老师解答疑惑!

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 陈大可 2020-03-01 10:34:49

是因为JDK的动态代理支持对接口进行代理,而UserDaoImpl是一个具体类的原因?

  • 同学,你好!你的理解是对的。在底层的源码中,动态生成的代理类继承了Proxy类。由于java不能多继承,这里已经继承了Proxy类了,不能再继承其他的类,只能实现接口,所以JDK的动态代理不支持对实现类的代理,只支持接口的代理。祝学习愉快!
    2020-03-01 16:39:46
  • 老师我有点不明白这里动态生成的代理类指的是什么?就拿案例来说,指得是去动态代理并实现了implements InvocationHandler 接口的这个MyJdkProxy类吗?我也没看到它继承了Proxy类呀?
    2020-03-23 15:32:04
  • 同学,你好!动态生成的代理类是在程序运行过程动态生成的,不是MyJdkProxy类。代理类因为是动态生成的,所以我们没有看到它的代码,在底层中这个代理类是继承Proxy类并实现接口的一个类,比如实现这里的UserDao接口。祝学习愉快!
    2020-03-23 19:05:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师