比如说程序里定义了String code="class CLSA{int a,b;}",然后后面某处就能调用这个string对象所定义的这个类CLSA clsa = new CLAS(); clsa.a = 0;之类的。
如此能用java实现么
这个需求有点奇怪。。如果真要这么做才能解决问题的话,我觉得你可能程序的设计上就有问题了…
能说说完整需求么?
用PrintStream把code写到文件中并保存为.java文件,然好调用javac编译system.exe(),再有class.forName()反转得到实例
我说下我思路:
1.将这些字符串写到一个.java文件中
2.用Runtime执行javac 编译这个.java文件
3.Class.forName()反射生成Class对象,然后调用newInstance()获取实例
还有
用javassist,asm这类工具
用java.lang.Compiler
模拟eclipse的编译方式,调用一个方法,具体类名忘记了,可以找找
用javacompiler