为什么动态代理只能基于接口?
为什么动态代理只能基于接口?
为什么不能用于没有接口的类?
返回一个Object的类型我就满足了啊!
Object o=hand.c(new hello());
谁能结合编译原理说个透切?
或者不需要深入到编译层就能解释这个问题?
------解决方案--------------------学习
------解决方案--------------------根据通用的设计原则:接口定义类型、类定义实现,代理对象可以实现一个或多个接口,但是不能实现类。因为代理类没有可以访问的名称,它们不能有构造函数,所以它们必须由工厂创建。具体参看:http://www.ibm.com/developerworks/cn/java/j-jtp08305.html
------解决方案--------------------机制不同
cglib 可以代理所有类
------解决方案--------------------我也很想知道为什么,共同学习
------解决方案--------------------学习