инстанцируйте класса от объекта класса

В Java я могу использовать объект класса для динамичного инстанцирования классов того типа?

т.е. Я хочу некоторую функцию как это.

Object foo(Class type) {
    // return new object of type 'type'
}
19
задан akula1001 14 June 2010 в 11:23
поделиться

4 ответа

Вы можете использовать Class.newInstance:

Object foo(Class type)
throws InstantiationException, IllegalAccessException {
    return type.newInstance();
}

... но это предполагает наличие конструктора с нулевым аргументом. Более надежный путь - использовать Class.getConstructor или Class.getConstructors, что приведет вас к использованию материала Reflection в java.lang.reflect пакете.

29
ответ дан 30 November 2019 в 03:59
поделиться

Да, это называется «Отражение». вы можете использовать для этого метод Class newInstance () .

1
ответ дан 30 November 2019 в 03:59
поделиться

используйте метод newInstance ().

0
ответ дан 30 November 2019 в 03:59
поделиться

Использование:

type.newInstance()

Для создания экземпляра с помощью пустого конструктора, или используйте метод type.getConstructor(...), чтобы получить соответствующий конструктор и затем вызвать его.

2
ответ дан 30 November 2019 в 03:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: