14

来源:互联网 发布:淘宝开店卖什么赚钱 编辑:程序博客网 时间:2024/04/29 16:56
package com.haizhitao.dynamicproxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;// 该代理类的内部是Object类型,实际使用的时候通过该类的构造方法传递进来一个对象。// 此外,该类还实现了invoke方法,该方法中的method.invoke其实就是调用被代理对象的将要执行的方法,// 方法参数是sub,表示该方法从属于sub,通过动态代理类,我们可以在执行真实对象方法的前后添加一些额外的方法 public class DynamicSubject implements InvocationHandler //动态代理必须实现InvocationHandler接口{//动态代理DynamicPoxy可以代理任何一个真实对象,并不仅限于此程序中的RealSubject,所以用Object就更通用了private Object sub;public DynamicSubject(Object obj){this.sub = obj;} public Object invoke(Object proxy, Method method, Object[] args)throws Throwable{//测试检查方法调用前的methodSystem.out.println("before calling: " + method);method.invoke(sub, args);System.out.println("after calling: " + method);return null;}}

	
				
		
原创粉丝点击