读书人

为什么动态代理只能基于接口?该如何解

发布时间: 2012-01-23 21:57:28 作者: rapoo

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

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

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

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

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

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

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

读书人网 >J2EE开发

热点推荐