比如说程序里定义了String code="class CLSA{int a,b;}",然后后面某处就能调用这个string对象所定义的这个类CLSA clsa = new CLAS(); clsa.a = 0;之类的。
如此能用java实现么?

解决方案 »

  1.   

    用PrintStream把code写到文件中并保存为.java文件,然好调用javac编译system.exe(),再有class.forName()反转得到实例
      

  2.   

    完全可以啊 自己写个classLoader不就行了
      

  3.   

    我说下我思路:1.将这些字符串写到一个.java文件中
    2.用Runtime执行javac  编译这个.java文件
    3.Class.forName()反射生成Class对象,然后调用newInstance()获取实例我没测试过,不知道可不可以。有什么问题请大家多指点
      

  4.   

    还有用javassist,asm这类工具用java.lang.Compiler模拟eclipse的编译方式,调用一个方法,具体类名忘记了,可以找找
      

  5.   

    动态编译么可以直接在内存里编译,然后load