How to create Java classes Dynamically by Java Reflection?

后端 未结 4 929
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-03 16:57

Reflection is used to load java class classes and manipulate them on the fly. But I have across a weird question that is asking me how to create Java classes on the fly by R

相关标签:
4条回答
  • 2021-01-03 17:13

    Seems to me you don't need reflection, but just need to call the JavaCompiler directly from your code: JavaCompiler.

    0 讨论(0)
  • 2021-01-03 17:14

    Maybe Apache DynaBeans will do. You can find some tutorials on creating and manipulating them eg. here: http://www.javaranch.com/journal/2003/07/TouringTheCommonsPart1.html

    0 讨论(0)
  • 2021-01-03 17:18

    You can take a look look at Bean Shell's eval method It lets you execute any Java code on the fly without the need to compile the code into bytecode. You can pass a string containing all the Java code for your class to it's eval method and you'll get back an instance of the dynamically created class. Let me know if you're interested in it and want me to give you an example.

    0 讨论(0)
  • 2021-01-03 17:25

    You can try ASM ASM

    or Byte code engineering library

    Byte code engineering library

    for manipulating, creating classes at run time

    In .NET we have Reflection.Emit(C#) which can do that Reflection.Emit

    Not sure whether there is a direct java equivalent. You can see another similar question on SO here Java equivalent of reflection.emit

    0 讨论(0)
提交回复
热议问题