Если вы знаете полное имя класса, вы можете загрузить его, используя обычные методы отражения Java в java.lang.Class
, а именно Class.forName(String fqClassName)
. Учитывая получившийся экземпляр Class
, создание экземпляра легко только , если есть конструктор с нулевым аргументом, в противном случае вы запутаетесь в грязном мире всех типов отражения Java.
Если вы хотите своего рода «обнаружение», когда классы, неизвестные во время компиляции и чьи имена каким-либо образом не представлены в качестве входных данных или параметров программы, то подход с загрузчиком классов, вероятно, является единственным ответом.