Создание объекта класса по его имени
В общем виде это выглядет так (http://java-online.ru/java-reflection.xhtml):
1 2 3 |
Пример:
файл Person.java с объявлением интерфейса, в котором содержатся классы:
1 2 3 4 5 6 7 8 9 |
фрагмент файла Solution.java, находящийся в том же пакете:
1 2 3 4 5 6 7 | try{ Class c = Class.forName("com.javarush.task.task14.task1411.Person$User"); Person person = (Person)c.newInstance(); } catch (Exception | NoClassDefFoundError e){ System.out.println(e); } |
Замечу, что если в строке 2 вместо $User будет $user (ошибка в регистре), то будет брошен NoClassDefFoundError.
(Просмотрено 275 раз, 1 раз за сегодня)