我們使用工具的時候,一般都會把工具的界面上所有功能都看一遍,然后使用一遍,看看究竟該功能能不能提供一些開發或學習上面的便利,所謂工欲善其事必先利其器嘛。
有兩個功能在看源碼時是非常方便的。其中我要重點介紹一個功能,那就是 type hierarchy。常用eclipse的同學都知道,quick type hierarchy的快捷鍵是 Ctrl + T,它可以快速查看類的繼承結構,並且有一個明顯的層次關系,能夠很明了的了解繼承順序。在 idea 中對應快捷鍵是 Ctrl + H,你可以通過 Navigate 菜單找到它。如下圖所示:

從圖中可以看到你的項目中,哪些類實現了該接口,通過包名識別。
如果是第一次調出 hierarchy的同學,還需要仔細再看下這個面板的頭部,有兩個非常容易辨識的圖標,一個是 查看父類關系,一個是查看子類關系,圖示中“子類關系”被選中,所以我們就看到了 Executor的所有子類和子接口:

調出 hierarchy后,我們發現它就靠在右側邊欄,並且還有一個 8 的標識,用過idea的同學都應該很熟悉,使用 Alt + 8 就可以打開這個側邊欄。不過可能是版本關系,使用 Alt + 8 打開 hierarchy的話,不能像 Alt + 7 (Structure)那樣實時更新視圖。(可能是因為該視圖中有一個藍色箭頭,指向當前展示的type hierarchy的入口吧。仔細觀察圖示就能看到。)這里演示的時候,我的idea版本還是 2017.1.5 。
在 Type Hierarchy中,我們直接可以查看其父類和子類的關系。而如果要單獨查看父類關系路徑,還可以使用 Diagram功能。你可以通過右鍵菜單找到它。快捷鍵是 Ctrl + Alt+ U (浮窗方式)和 Ctrl + Alt + Shift + U (新窗方式),如下圖,從ThreadPoolExecutor類查看其父類和父接口:

當然,在前面介紹過 idea 的 type Hierarchy 功能之后,很多同學應該發現,還可以通過 type Hierarchy的視圖選擇 supertype hierarchy來查看接口或類的父類或父接口,不過層次是倒過來的。
那么,掌握了這兩個快捷鍵以后,在查看源碼時,將會是一個利器。
