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