对代理模式与Java动态代理类的理解(6)

2008-02-23 10:15:34来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

System.out.println("before calling " method);

method.invoke(sub,args);

System.out.println("after calling " method);

return null;

}

}

该代理类的内部属性为Object类,实际使用时通过该类的构造函数DynamicSubject(Object obj)对其赋值;此外,在该类还实现了invoke方法,该方法中的

method.invoke(sub,args);

其实就是调用被代理对象的将要被执行的方法,方法参数sub是实际的被代理对象,args为执行被代理对象相应操作所需的参数。通过动态代理类,我们可以在调用之前或之后执行一些相关操作。

客户端

import java.lang.reflect.InvocationHandler;

import java.lang.reflect.Proxy;

import java.lang.reflect.Constructor;

import java.lang.reflect.Method;

public class Client

{

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JAVA正则表达式和特殊字符(没完全看懂ING)

下一篇:返回中文unicode的byte字符串