JAVA动态代理

利用代理可以在运行时创建一个实现了一组给定接口的新类。

 

使用代理需要提供一个调用处理器(Invocation handler),调用处理器是实现了InvocationHandler接口的类对象,在这个接口中只有一个方法:

Object invoke(Object proxy,Method method, Object[] args)

无论何时调用代理对象的方法,调用处理器的invoke方法都会被调用,并向其传递Method对象和原始的调用参数。

 

要想创建一个代理对象,需要使用Proxy类的newProxyInstance方法,这个方法有三个参数:

  •  一个类加载器(classloader)
  •  一个Class对象数组,每个元素都是需要实现的接口
  •  一个调用处理器

 

例:

接口:


实际实现接口的类:


调用处理器类:


测试类(生成代理类):


运行结果:


参考:

《JAVA核心技术卷Ⅰ:基础知识》

http://langyu.iteye.com/blog/410071


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值