在大多數IDE中,只需按下ctrl
並點擊它即可跳轉到實現方法,例如,如果我想從X.method();
看到method()
的實現。我的問題是:如果我想做相反的事情呢?換言之,從方法簽名中,是否有一種方法可以識別原始呼叫者?如何識別方法的原始調用者?
這個問題的原因是因爲我目前正在研究一個包含太多類和包的巨大項目,有時我想追溯特定方法的原始調用者。
謝謝
在大多數IDE中,只需按下ctrl
並點擊它即可跳轉到實現方法,例如,如果我想從X.method();
看到method()
的實現。我的問題是:如果我想做相反的事情呢?換言之,從方法簽名中,是否有一種方法可以識別原始呼叫者?如何識別方法的原始調用者?
這個問題的原因是因爲我目前正在研究一個包含太多類和包的巨大項目,有時我想追溯特定方法的原始調用者。
謝謝
試試這個。
void callee() {
StackTraceElement s = Thread.currentThread().getStackTrace()[1];
System.out.println(s.getClassName() + " " + s.getMethodName());
}
這將打印調用者的類名稱和方法名稱。
在eclipse上,右鍵單擊該方法並單擊「打開調用層次結構」即可完成該任務。 – rdonuk
除了「調用層次結構」之外,您還可以在eclipse中進行工作空間搜索,以查找對類,方法,構造函數的引用。我假設任何像樣的IDE都提供這樣的搜索功能。 – GhostCat