我有一个接口,它的实现在运行时决定,并被赋予一个代理对象作为其动态实现。我想检索这个代理对象实现的接口,以了解接口中的方法。有什么方法可以用Java做到这一点吗。
试试这个(使用纯反射):
Class<?>[] interfaces = proxyInstance.getClass().getInterfaces();
对于以下代码:
Object proxyInstance = Proxy.newProxyInstance(
getClass().getClassLoader(),
new Class<?>[] {Serializable.class},
new InvocationHandler() /**/);
它正确返回java.io.Serializable
接口。