Python 官方文档:入门教程 => 点击学习
目录使用jdk生成代理类生成代理的字节码总结使用jdk生成代理类 通过jdk实现的动态代理会使用Proxy的newProxyInstance方法: 写一个类实现Invocation
通过jdk实现的动态代理会使用Proxy的newProxyInstance方法:
写一个类实现InvocationHandler,内部要注入对应原代理类的实现:
测试代码:
TestServiceImpl testService = new TestServiceImpl();
TestServiceImplHandler testServiceImplHandler = new TestServiceImplHandler(testService);
TestService testServiceProxy = (TestService)Proxy.newProxyInstance(testService.getClass().getClassLoader(), testService.getClass().getInterfaces(), testServiceImplHandler);
testServiceProxy.test();
看到生成的代理类父类是Proxy类,通过jdk代理生成的类都继承Proxy类:
因为Java是单继承的,而代理类又必须继承自Proxy类,所以通过jdk代理的类必须实现接口。
还可以通过生成代理类的字节码查看,
package java.lang.reflect;包的Proxy类
通过将生成一半的代理类写到文件里面去:
生成的文件:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: 解读jdk动态代理为什么必须实现接口
本文链接: https://www.lsjlt.com/news/196544.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0