jdk中动态代理只支持接口的方式 实现方式是:
- 调用 java.lang.reflect.Proxy中的静态方法
newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h)
loader和interfaces是被代理类的 针对返回的对象转型为被代理类的接口 2. 实现一个java.lang.reflect.InvocationHandler 接口,实现其中的方法 >public Object invoke(Object proxy, Method method, Object[] args)
此处关键是需要传入具体类作为此实现类的实例变量, 并保证以以下方式调用,并在该方法调用前后加入需要代理的逻辑 >method.invoke(被代理类实例,args);