JDK动态代理的简单实现
1. 先理一下动态代理实现的思路: 实现功能: 自己定义一个类 Proxy, 通过Proxy的静态方法 newProxyInstance(Class<T> intface,InvocationHandler h)返回代理对象, intface: 被代理类的接口对象, h: InvocationHandler的实例对象 1). 声明一段动态代理类的源码( 动态产生代理类 ) 2). 编译动态代理类的源码( JDK Compiler API ), 产生代理类 3). 通过 ClassLoader 加载这个代理类, 创建一个代理类的实例对象 4). return 返回这个代理对象 2. 代码实现: 为什么代理类的类名为 $Proxy0? 这是因为 Java中动态代理, 生成的代理类的类名就是 $Proxy0, 依葫芦画瓢而已, 可以用一个动态代理对象 proxy, 来验证: System.out.println(proxy.getClass().getName()); //输出com.sun.proxy.$Proxy0 public class Proxy { /** * @param intface * 被代理类的接口的类对象 * @param h * InvocationHandler的实例对象 * @return proxy 生成的动态代理对象 * @throws