V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaoxiaomo
V2EX  ›  问与答

看了好多资料,还是没能理解 JDK 动态代理为啥只能针对接口

  •  
  •   xiaoxiaomo · 2015-07-28 15:02:39 +08:00 · 2234 次点击
    这是一个创建于 3399 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1 条回复    2015-07-28 22:10:54 +08:00
    SoloCompany
        1
    SoloCompany  
       2015-07-28 22:10:54 +08:00
    没有什么不可以的,你如果有这样的需要(动态生成 class to extend an abstract class),有很多其它的选择,动态的 bytecode 生成是最常见的方法 (cglib?)

    java.lang.reflect.Proxy 的实现不支持,一来也许 jcp 觉得这样更纯粹
    而更重要的一点,请阅读第一行 javadoc,java.lang.reflect.Proxy 同时也是它所生成的所有动态类的基类,这就已经从源头上禁止了这种可能性的存在,因为类的继承链只能有一条
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2655 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:26 · PVG 18:26 · LAX 02:26 · JFK 05:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.