我需要使用反射来获取超级接口中定义的方法,因为反射不提供使用currentClass.getDeclaredMethods()的超级接口的方法。 那么,是否有可能获得超级接口方法?
// I am using the Jms interface TopicConnection. But I am not able to access the "setClientID" method using reflection.
// That method is present in the super Interface "Connection". How do I get to that?
Class<?> superClass = topicConnectionClass.getSuperclass(); // this does not give the superInterface for the current Interface. and gives null since for interface superClass is null
checkMethod = superClass.getDeclaredMethod("setClientID", String.class);
答案 0 :(得分:0)
使用getInterfaces()
代替getSuperclass()
。
但是 - 必须有一个定义setClientID
的类,它必须是超类之一,因此迭代超类关系也是合适的。