Я хочу реализовать приложение, которое могло бы использовать реализованные пользователями классы. В каждом классе должен быть реализован интерфейс, который я определяю, и, наконец, все классы, реализованные пользователем, заархивированы в файле jar. Пользователи копируют файлы jar в путь к классу, а затем дают только имя файла jar моему приложению. Мое приложение должно иметь возможность динамически загружать файл jar. Для этого я нашел этот пост, который очень полезен, но он загружает классы по именам классов. Я хочу загрузить классы на основе их родителей.
public class A implements iA {
@Override
int getAValue() { ... }
}
public class B implements iB {
@Override
int getBValue() { ... }
}
Предположим, что загруженный файл jar имеет классы A
и B
. Я хочу получить экземпляр класса B
, зная имя интерфейса iB
.
Что я должен делать?