3
假設如下。有一些超類或接口聲明瞭一些方法:Base.doSmth()
。還有一些實現此方法的繼承類:Inherited.doSmth()
。我們有Inherited.doSmth()
的反思(Method
),我們知道什麼是基類,以便我們可以訪問它的反射(Base.class
)。問題是:如何獲得Base.doSmth()
方法的思考?當然,我們可以遍歷Base
的所有方法,並通過名稱,參數和返回類型找到一個,但是可能已經有一些解決方案了。所有事情都發生在Spring相關的類中,所以代碼已經與Spring耦合,因此使用它的實用工具是可以的。如何獲取在特定父類中聲明的方法?
謝謝。
這當然是可以的,但我認爲可以使用一些Spring util-method,這使得這個工作成爲可能,例如'org.springframework.aop.support.AopUtils.getMostSpecificMethod()'。 – 2012-02-20 08:44:18
哦,Spring沒有任何實用方法(可能我不知道),但Apache Commons Lang3有一個帶有ClassUtils名稱的實用程序類,並且此類具有getAllSuperclasses方法和其他有用的方法,可能對您有用。 – MJM 2012-02-20 08:51:28
感謝MJM,我將調查Apache Commons Lang,否則手動迭代'Method []'數組。 – 2012-02-20 08:53:18