![](/img/trans.png)
[英]How to generate the method stubs for all un-implemented methods in interfaces/abstract classes using eclipse?
[英]How to find where an abstract method is implemented in Eclipse?
我想找到一個抽象方法在哪里實現,哪個類? Eclipse中是否有一個鏈接,如調用層次結構 / 開放聲明或類似的內容,它顯示了實現方法的位置?
這里很棒的答案! 我發現了一個從實現到實現快速導航的額外技巧。
Eclipse使用臨時彈出窗口來顯示“實現或定義'Class.method()'的類型”而不是可以固定到側面的永久視圖,這是相當奇怪的。
此彈出窗口的優點是,當您單擊實現類型時,您將直接進入方法實現。 這個彈出窗口的缺點是它會在你彈出時立即關閉,並且無法永久固定它。
類型層次結構顯示相同的實現類型列表(因為它們是抽象類的子類)。 由於它是一個視圖,它可以永久固定在側面。 但是,如果在此處雙擊類型名稱,則會轉到該類型的聲明行。 然后,您必須自己找到抽象方法的實現。
除此之外,您不必使用以下技巧:
現在,您可以通過單擊或雙擊主列表中列出的方法在實現之間快速導航。
1您也可以單擊方法名稱並按F4。
2如果未列出,請單擊列表上方的顯示類型層次結構 (2)或顯示子類型層次結構 (3)按鈕之一。
3如果沒有輔助列表,請單擊“ 查看”菜單 (4) ,選擇“ 布局” > [除“ 僅層次結構”以外的任何選項]。
4如果未選中,只需單擊它即可將其選中。
如果您將Ctrl + mouse hover
在某個方法上,則可以看到一個彈出窗口,您可以從中選擇一組選項,其中一個是“ Open Implementation ”。 如果單擊,將顯示所有實現的列表。
它也可以用於查看聲明和/或超級實現,因此它非常有用。
如果將光標放在方法上,只需按Ctrl + T
獲得相同的效果。
如果要在“ 類型層次結構 ”視圖中顯示結果,請使用F4
鍵。
您可以使用TypeHierarchy視圖。 這是Spring框架抽象類FrameworkServlet的類型層次結構視圖的示例:
在左側窗格中,您可以看到類繼承樹。 左窗格中類名旁邊的“A”圖標表示FrameworkServlet是一個抽象類。 在右側窗格中,突出顯示的方法doService(request,response)也有“A”圖標,表示這是一個抽象方法。
現在,如果我們點擊DispatcherServlet類,它是一個具體的(非抽象)類,你會看到:
在這種情況下,DispatcherServlet的doService方法沒有'A'圖標,而是具有up三角形,表示它覆蓋了超類方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.