Java 动态代理 学习笔记

可以无侵入式的给代码增加额外的功能

对象可以通过代理来转移部分职责

  • 调用过程:调用者 -> 代理 -> 对象
  • 代理里面就是对象要被代理的方法
  • Java通过接口保证代理的样子,对象和代理需要实现同一个接口,接口中是被代理的所有方法

创建代理对象

  • java.lang.reflect.Proxy类:提供了为对象产生代理对象的方法
  • public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)
    • 参数一:指定类加载器,加载生成的代理类
    • 参数二:指定接口,这些接口用于指定代理有哪些方法
    • 参数三:指定生成的代理对象要干什么
img_show