给定一个java.lang.reflect.Method对象,是否有一种简单的方法可以获得它覆盖的方法的层次结构。例如:
class A {
public void someMethod() { ... }
}
interface B {
public void someMethod();
}
class C extends A {
public void someMethod() { ... }
}
class D extends C implements B {
public void someMethod() { ... }
}
给定D#someMethod的java.lang.reflect.Method对象,我可以轻松获取树:
D#someMethod
|
+- C#someMethod
| |
| +- A#someMethod
|
+- B#someMethod
猜测必须有一种简单的方法,可能是现有的库?
答案 0 :(得分:0)
最终没有找到有用的库,因此根据assylias注释只是使用反射来遍历继承并构建一个树(包括超类和接口)。我没有构建一个方法树,而是一个可以随后“走路”的类树。