JAVA 动态代理
2016年7月20日
上午 9:37
使用场景
运行时动态实现多个接口
AOP的实现:动态代理可以把接口中方法的调用的处理逻辑交给开发人员
解决接口的版本兼容
注意点:
1-当同时代理多个接口时,如果多个接口都存在申明类型相同的方法,那么调用方法时,排列顺序最先出现的接口中的方法会被调用
2-在动态代理对象中调用Object类中申明的equals、hashCode和toString等方法时,也会被传递给InvocationHandler中的invoke方法。
3-对于一个Java类,可以通过Proxy.isProxy来判定是否为代理类
4-动态代理只支持对接口提供代理
动态代理使用
InvocationHandler接口的实现类
创建和使用动态代理
为任何接口及其实现类创建代理的(工厂方法)
代理某个类所实现的所有接口
代理多个接口的实例