【java】JDK动态代理为什么只能代理有接口的类?

435 篇文章 485 订阅 ¥19.90 ¥99.00

在这里插入图片描述

1.概述

JDK动态代理为什么只能代理有接口的类?

我们都知道java中的动态代理只能代理有接口的类,这是一个常识,但是如果这里问一下为什呢?

在Java中,动态代理是一种通过在运行时生成代理类的机制。JDK动态代理基于Java的反射机制,可以在运行时动态地创建代理对象,并将方法调用重定向到实际的目标对象上。代理对象实现了被代理接口,可以替代原始对象来执行相同的接口方法

在这里插入图片描述
在java中动态代理是通过调用Proxy.newProxyInstance()来实现的,但是却需要传入被动态代理的一个接口类,之所以要传入接口而不能传入类,还是取决于JDK动态代理的一个底层实现。

JDK动态代理会在程序运行期间去动态的生成一个代理类,这个动态代理类会继承一个Proxy类,同时还会去实现被动态代理的接口。

原始对象和代理对象之间存在一个共同的接口,这个接口定义了需要被代理的方法。对于JDK动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值