Расширить / реализовать класс / интерфейс, который был загружен с использованием отражения - PullRequest
1 голос
/ 21 августа 2011

Допустим, мы загружаем классы X и Y, используя отражение.Для Y мы также получаем экземпляр I. Теперь мы хотим вызвать метод M для I, который ожидает экземпляр типа X. Кроме того, мы предполагаем, что X является абстрактным.мы можем позвонить М?Тот же вопрос касается интерфейсов в случае, если X является интерфейсом вместо абстрактного класса.

1 Ответ

2 голосов
/ 21 августа 2011

С помощью интерфейса вы можете создать динамический прокси , который будет действовать как экземпляр реализующего класса. Вы можете использовать cglib или Javassist , чтобы сделать то же самое для абстрактного класса.

...