JDK的动态代理为什么要用接口接收增强的代理类,而不能用实现类接收?
回答
小跑的蜗牛回答
问题解决方法
JDK代理只能只针对接口来产生代理,代理类与被代理类类似兄弟关系 不能相互转换 只能用共同的接口
关系类似List list = new ArrayList() 不能 使用
ArrayList list = new LinkedList ()
ArrayList LinkedList都实现了List接口 所以可以使用 List接口来接收
关系对比:
List==IUserService 接口
ArrayList == UserServiceImpl 接口的实现类
LinkedList == userServiceProxy 产生的增强代理类
(2)