日期:2014-05-20  浏览次数:20652 次

为什么动态代理只能基于接口?
为什么动态代理只能基于接口?

为什么不能用于没有接口的类?

返回一个Object的类型我就满足了啊!

Object   o=hand.c(new   hello());

谁能结合编译原理说个透切?

或者不需要深入到编译层就能解释这个问题?

------解决方案--------------------
学习
------解决方案--------------------
根据通用的设计原则:接口定义类型、类定义实现,代理对象可以实现一个或多个接口,但是不能实现类。因为代理类没有可以访问的名称,它们不能有构造函数,所以它们必须由工厂创建。具体参看:http://www.ibm.com/developerworks/cn/java/j-jtp08305.html
------解决方案--------------------
机制不同
cglib 可以代理所有类
------解决方案--------------------
我也很想知道为什么,共同学习
------解决方案--------------------
学习