Используйте Class.getConstructor()
и на этом вызовите Constructor.newInstance()
. Например, если это ваш конструктор в классе Foo
:
public Foo(String bar, int baz) {
}
Вы должны сделать что-то вроде этого:
Constructor c = Class.forName("Foo").getConstructor(String.class, Integer.TYPE);
Foo foo = (Foo) c.newInstance("example", 34);
Вы должны будете знать, какие аргументы необходимо передать конструктору. Если это нежелательно, вы должны рассмотреть возможность использования пустого конструктора. Затем есть методы для установки того, что вы обычно передаете в конструктор.
Кто-то может спросить, есть ли у вас правильный образец здесь. Вам действительно нужно использовать рефлексию, возможно, есть лучший подход? Если вы знаете, что уже собираетесь приводить к своему объекту, почему бы просто не создать его нормально? Возможно, вы захотите предоставить больше контекста относительно того, почему вам нужно сделать это. Существуют веские причины, однако вы не указали их.