Получить класс интерфейса объекта вызова прокси в Java - PullRequest
1 голос
/ 23 февраля 2012

У меня есть Интерфейс, реализация которого решается во время выполнения, и ему предоставляется прокси-объект в качестве динамической реализации.Я хочу получить интерфейс, который реализует этот прокси-объект, чтобы узнать методы в интерфейсе.Есть ли способ сделать это в Java.

1 Ответ

3 голосов
/ 23 февраля 2012

Попробуйте это (используя простое отражение):

Class<?>[] interfaces = proxyInstance.getClass().getInterfaces();

Для следующего кода:

Object proxyInstance = Proxy.newProxyInstance(
    getClass().getClassLoader(), 
    new Class<?>[] {Serializable.class},
    new InvocationHandler() /**/);

Он правильно возвращает java.io.Serializable интерфейс.

...