В Java, я могу использовать объект класса для динамического создания экземпляров классов этого типа?
т.е. мне нужна какая-то функция, подобная этой.
Object foo(Class type) { // return new object of type 'type' }
Вы можете использовать Class.newInstance:
Class.newInstance
Object foo(Class type) throws InstantiationException, IllegalAccessException { return type.newInstance(); }
... но это предполагает наличие конструктора с нулевым аргументом.Более надежный маршрут - через Class.getConstructor или Class.getConstructors, который поможет вам использовать Reflection в пакете java.lang.reflect.
Class.getConstructor
Class.getConstructors
java.lang.reflect
Использование:
type.newInstance()
Для создания экземпляра с использованием пустого конструктора или с помощью метода type.getConstructor (..), чтобы получить соответствующий конструктор и затем вызвать его.
Да, это называется Отражение.для этого вы можете использовать метод Class newInstance().
newInstance()
использовать метод newInstance ().