关于JDK动态代理实现接口的疑问

关于JDK动态代理实现接口的疑问

JDK的动态代理方式只能对于实现了接口的类去产生代理,这里说的实现接口是指得实现了
InvocationHandler这个接口还是指一般我们实现类去实现的接口呀?


正在回答

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

2回答

同学,你好!这里说的实现接口不是指InvocationHandler接口,而是指一般我们要去实现的接口,比如UserDao接口。

下面这个问题,不知道同学指的是哪个类没有实现接口就无效。以UserDao的实现类为例,既然是它的实现类肯定要实现接口。而对于JDK动态代理来说,在程序执行时会创建一个类继承Proxy类并实现UserDao接口。

http://img1.sycdn.imooc.com//climg/5e789a500939aacc05900112.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • jia_蛙 提问者 #1
    我想说的是为什么说对于jdk动态代理来说,如果实现类没有实现接口就会无效。 老师你的回答已经很清楚了,因为JDK动态代理来说,在程序执行时会创建一个类继承Proxy类并实现UserDao接口。如果都没有这个接口,那这个jdk动态代理自然就无效了是吧?
    2020-03-23 19:49:10
  • 好帮手慕珊 回复 提问者 jia_蛙 #2
    是的,如果不实现接口,动态代理也不知道对谁进行代理了。祝学习愉快!
    2020-03-23 20:09:26
  • jia_蛙 提问者 #3
    谢谢老师!
    2020-03-23 20:24:33
提问者 jia_蛙 2020-03-23 15:39:23
为什么没有实现接口就会无效呢?


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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