9 动态代理
约 324 字大约 1 分钟
2025-04-05
当要实现一个与类基本功能不相干的功能时(如:一个类的方法需要有日志功能) 直接将功能写入到类的函数中时会使函数多了许多不相干的功能不方便阅读 可以设置一个静态代理类,在这个类中实现额外功能并使用它调用相应的功能,但这样依旧会有许多冗余代码
动态代理
当一个类需要添加新功能的时候可以直接在它的类里面添加成员函数,这样的修改称为侵入式修改
动态代理可以无侵入式的给代码增加额外的功能 对象如果嫌身上干的事太多就可以通过代理来转移部分职责,这样让类专注于自己功能
创建代理对象
- 参数一:用于指定用哪个类加载器,去加载生成的代理类
- 参数二:指定接口,这些接口用于指定生成的代理长什么,也就是有哪些方法
- 参数三:用来指定生成的代理对象要干什么事情
public static Object newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)
贡献者
版权所有
版权归属:PinkDopeyBug