Я разрабатываю приложение, которое использует интерфейс Java как больше, чем интерфейс Java, то есть во время выполнения пользователь должен иметь возможность перечислять доступные методы в классе интерфейса, что может быть что угодно:Альтернативы преобразования Java-интерфейса
private Class<? extends BaseInterface> interfaceClass.
Во время выполнения, я хотел бы ENUM доступные методы, а затем на основе того, что выбирает пользователь, вызвать какой-либо метод.
Мой вопрос: Является ли архитектура Java «Interface» каким-либо методом для просмотра и вызова методов без использования Reflection API?
Я хотел было что-то вроде этого (Может быть, есть):
private Interface<? extends BaseInterface> interfaceAPI;
public void someMethod(){
interfaceAPI.listMethods();
interfaceAPI.getAnnotations();
}
Может быть, есть какой-то способ использовать тип Generics добиться того, чего я хочу?
Спасибо,
Федр
Есть и другие способы, но они гораздо хуже, ИМХО. Вы не сказали, почему вы не хотите использовать отражение. Возможно, ваши проблемы могут быть решены. –
вы можете генерировать код «на лету» (и загружать его через какой-то пользовательский загрузчик классов) ... но это то, что на самом деле делает отражение. – bestsss