在Java应用程序运行时定义类

Leh*_*ane 17 java runtime-compilation on-the-fly

在Java中,是否可以在应用程序运行时动态创建类定义,然后创建该类的对象?

例如,正在运行的应用程序将读入一个文本文件,该文件包含要包含在新类中的类成员列表.然后,应用程序将根据成员列表定义类定义,然后对其进行实例化.

Mah*_*eTo 11

是的,理论上你可以这么做,你的类文件是字节代码,最后是一个字节数组!然后,您可以使用方法defineClass(String,byte [],int,int)来获取可用于通过反射实例化对象的Class实例.

在实践中,您可以使用CGLibjavaassist之类的东西.

您还可以使用在文件中生成Java代码,调用编译器,然后加载文件的漫长方法.