簡體   English   中英

如何在Eclipse中查找抽象方法的實現位置?

[英]How to find where an abstract method is implemented in Eclipse?

我想找到一個抽象方法在哪里實現,哪個類? Eclipse中是否有一個鏈接,如調用層次結構 / 開放聲明或類似的內容,它顯示了實現方法的位置?

快速方法:

  • 按住Ctrl鍵 ,將鼠標懸停在方法名稱上,然后選擇“打開實施”。

  • 單擊方法名稱,然后按Ctrl T.

  • 右鍵單擊方法名稱→“快速類型層次結構”。

有關更多導航功能,請參閱ADTC的帖子

這里很棒的答案! 我發現了一個從實現到實現快速導航的額外技巧。

Eclipse使用臨時彈出窗口來顯示“實現或定義'Class.method()'的類型”而不是可以固定到側面的永久視圖,這是相當奇怪的。

此彈出窗口的優點是,當您單擊實現類型時,您將直接進入方法實現。 這個彈出窗口的缺點是它會在你彈出時立即關閉,並且無法永久固定它。

類型層次結構顯示相同的實現類型列表(因為它們是抽象類的子類)。 由於它是一個視圖,它可以永久固定在側面。 但是,如果在此處雙擊類型名稱,則會轉到該類型的聲明行。 然后,您必須自己找到抽象方法的實現。

除此之外,您不必使用以下技巧:

  1. 右鍵單擊抽象方法,然后單擊“ 打開類型層次結構” 1在“ 類型層次結構”視圖中,您將注意到以下內容:
    • 抽象類類型的所有子類型都列在主列表(P)中 2
    • 抽象類的所有成員都列在輔助列表(S)中 3
    • 在右側列表中選擇右鍵單擊的抽象方法。 4

  2. 單擊輔助列表上方的“ 鎖定視圖”和“在層次結構中顯示成員”按鈕(1)
    • 所選方法及其實現將列在每個子類型下的主列表以及父類型中。

現在,您可以通過單擊或雙擊主列表中列出的方法在實現之間快速導航。

截圖顯示了所提到的各個部

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.

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