类需根据需求文件动态(选择)继承其他类,问如何实现?
例如:
    Class A{    }
    Class B{    }
    Class C{    }
    abc.properties extendsName=?(可填B或C)
    
    根据配置文件abc.properties中extendsName=(B或C)来决定Class A extends (B或C){}    问如何实现?

解决方案 »

  1.   

    啊~~~我抓狂了,CSDN上都是些什么人啊,前几天看到一个在字符串里面写代码执行的,今天居然来个更NB的~~~哥们,我佩服你!虽然知道99%的不可能实现,但也得为这1%的希望顶顶!!!
      

  2.   

    LZ是一个300万伏特的雷呀。不过也给你漏点料,你可以研究groovy来解决你的问题,C#本身就有代码文档模型所以简单,但是java就要借助动态语言了。
      

  3.   

    可以实现,不过有点麻烦,继承URLClassLoader类,自动编译c
    lassl类,就可以动态继承类了。
      

  4.   

    难道通过java反射搞不定?
    不能通过一个类的class域的内容,向另一个类的Class里加,然后生成新的Class?
      

  5.   

    请好好理解面向对象。
    请问楼主,什么叫类?该哪类的事务就是哪类的事务,这是固定不变的。
    请问,男人和女人是人类,那男人和女人有可能是兽类吗?
    java面向对象编程里有一条款:除非专为继承而设计并提供文件,否则不要使用继承
      

  6.   

    用动态代理是可以实现的,我正在实现一个这样的功能。
    楼上不要大惊小怪,Java动态编程没有什么不可能。其实你们从Hibernate得到的那些实体对象并不是你也的原始类的实例对象,而且一个代理对象。
      

  7.   

    简单的一个动态代理就可以搞定吧,就像楼上说的,Hibernate的所有Entity可以什么实现都不写,但是你加个Spring配置了事务管理,就可以让他们继承基础事务类。
      

  8.   

    操作字节码,可以参考的工具请参考 http://www.open-open.com/54.htm