Proxy.newProxyInstance( classLoader, interfaces, invocationHandler );
虚拟机动态生成了一个类$Proxy0(若有多个动态代理类,则为$Proxy1、$Proxy2…递增),继承自Proxy,并实现了interfaces中的接口方法,且在方法中都统一调用了invocationHandler的invoke方法。
这种方式只能代理接口方法,为什么要设计成这样?
猜测:避免父类带来的额外开销和实现复杂度
Proxy.newProxyInstance( classLoader, interfaces, invocationHandler );
虚拟机动态生成了一个类$Proxy0(若有多个动态代理类,则为$Proxy1、$Proxy2…递增),继承自Proxy,并实现了interfaces中的接口方法,且在方法中都统一调用了invocationHandler的invoke方法。
这种方式只能代理接口方法,为什么要设计成这样?
猜测:避免父类带来的额外开销和实现复杂度