Я хотел бы создать объект динамически.
У меня есть следующая структура: 1 абстрактный класс и несколько классов, которые наследуются от абстрактного класса
abstract public class A {..}
public class B extends A{..}
public class C extends A{..}
У меня есть файл конфигурации где я хочу добавить имя класса, чтобы иметь возможность контролировать, какой класс он должен использовать.
# config class name
classname = B
Я попробовал следующее, но здесь у меня есть проблема, что я должен привести результат и Я не знаю, как я могу сделать это динамически в этот момент
public class TestClass {
public A instB;
public void getInstance(){
this.instB = Class.forName("B") /*here i put later the config value classname*/
.getConstructor(String.class)
.newInstance(new Object[]{"test"}); // <--- How to cast this dynamicly to a class in the config?
}
}
Как я могу динамически создать экземпляр класса?