全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

java动态如何生成代理类

发布时间:2022-08-09 16:42:39
发布人:qyf

java动态如何生成代理类

  说明

  1、调用Proxy类的newProxyInstance方法来获取代理类实例。

  2、这个代理类实现了指定的接口并且会把方法调用分发到指定的调用处理器。

  方法声明

  public static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h) throws IllegalArgumentException

  参数

  loader:定义了代理类的ClassLoder

  interfaces:代理类实现的接口列表

  h:调用处理器,也就是我们上面定义的实现了InvocationHandler接口的类实例

  实例

  public class Main {

  public static void main(String[] args) {

  //创建中介类实例

  DynamicProxy inter = new DynamicProxy(new Vendor());

  //加上这句将会产生一个$Proxy0.class文件,这个文件即为动态生成的代理类文件

  System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true");

  //获取代理类实例sell

  Sell sell = (Sell)(Proxy.newProxyInstance(Sell.class.getClassLoader(), new Class[] {Sell.class}, inter));

  //通过代理类对象调用代理类方法,实际上会转到invoke方法调用

  sell.sell();

  sell.ad();

  }

  }

  以上就是java动态生成代理类的方法,希望对大家有所帮助。更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。

相关文章

Vmlogin是干什么用的?

Vmlogin是干什么用的?

2023-10-14
Tornado的核心是什么?

Tornado的核心是什么?

2023-10-14
ORM解决的主要问题是什么?

ORM解决的主要问题是什么?

2023-10-14
敏捷开发中为什么很少用到Youtrack工具?

敏捷开发中为什么很少用到Youtrack工具?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取