Я знаю, что это старый, но хотел добавить в тему:
Да, это возможно. В основном вы используете класс JavaCompiler в java для компиляции любой строки во время выполнения и возврата экземпляра java.lang.Class, который можно использовать для создания экземпляра объекта.
Я написал небольшую минимальную библиотеку для проекта, над которым я сейчас работаю. Не стесняйтесь использовать библиотеку, как вы хотите. EzReflection позволяет вам полностью скомпилировать код в памяти, не требуя записи файла .class.
Используя ezReflections, ваш код будет выглядеть так:
InMemoryEzReflectionsCompiler compiler = new InMemoryEzReflectionsCompiler();
String src = new Scanner(new File("filename")).useDelimiter("\\Z").next();
Class<?> cls = compiler.compileClass("name of class", src);
// if your class doesn't require arguments in the constructor
cls.newInstance();
// if your class requires arguments for the constructor. Here assuming one Integer and one double
Constructor<?> cons = cls.getConstructor(new Class[]{Integer.class,double.class});
Object obj = cons.newInstance(new Object[]{(int)10,(double)9});
На странице Github вы также можете найти учебное пособие по использованию ezReflections.