簡體   English   中英

給定一個java.lang.reflect.Method對象,有一種簡單的方法來獲取其覆蓋的方法的層次結構

[英]Given a java.lang.reflect.Method object, is there an easy way to obtain a hierachry of the methods it overrides

給定一個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

猜猜肯定有一個簡單的方法可以做到這一點,也許是現有的庫?

最終沒有找到一個有用的庫,因此像assylias那樣,注釋僅使用反射來遍歷繼承並構建樹(包括超類和接口)。 我沒有構建方法樹,而是構建了可以隨后“遍歷”的類樹。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM