jdk的动态代理机制生成代理对象

jdk的动态代理机制生成代理对象

public class MyTarget implements InvocationHandler {
private Object target;
public Object createProxy(Object target){
this.target=target;
//1.类加载器 使用和目标对象一样的类加载器
//2.目标对象的接口
//3.代理对象执行方法要调用的处理程序
return Proxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(),this);
}
//1.proxy 动态代理的根对象
//2.动态代理对象要执行的方法
//3.动态代理对象要执行的方法的参数列表
//返回值:动态代理对象要执行的方法的返回值
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println(“删除之前的”);
//1.目标对象实例;2.方法参数----->就是相当于调用了目标对象的方法
Object result=method.invoke(this.target,args);
System.out.println(“删除之后的”);
return result;
}
}

你可能感兴趣的:(java)