使用 IntelliJ IDEA 查看类图,内容极度舒适
點(diǎn)擊上方?好好學(xué)java?,選擇?星標(biāo)?公眾號(hào)
重磅資訊、干貨,第一時(shí)間送達(dá)今日推薦:Nginx 為什么快到根本停不下來?個(gè)人原創(chuàng)100W+訪問量博客:點(diǎn)擊前往,查看更多最近正好也沒什么可忙的,就回過頭來鼓搗過去的知識(shí)點(diǎn),到Servlet部分時(shí),以前學(xué)習(xí)的時(shí)候硬是把從上到下的繼承關(guān)系和接口實(shí)現(xiàn)記得亂七八糟。
這次利用了IDEA的diagram,結(jié)果一目了然,也是好用到炸裂,就此分享。
查看圖形形式的繼承鏈
在你想查看的類的標(biāo)簽頁內(nèi),點(diǎn)擊右鍵,選擇 Diagrams,其中有 show 和 show ... Popup,只是前者新建在標(biāo)簽頁內(nèi),后者以浮窗的形式展示:
實(shí)際上,你也可以從左邊的項(xiàng)目目錄樹中,對(duì)你想查看的類點(diǎn)擊右鍵,同樣選擇Diagrams,效果是一樣的:
然后你就會(huì)得到如下圖所示的繼承關(guān)系圖形,以自定義的Servlet為例:
顯而易見的是:
藍(lán)色實(shí)線箭頭是指繼承關(guān)系
綠色虛線箭頭是指接口實(shí)現(xiàn)關(guān)系
優(yōu)化繼承鏈圖形,想我所想
1 去掉不關(guān)心的類
得到的繼承關(guān)系圖形,有些并不是我們想去了解的,比如上圖的Object和Serializable,我們只想關(guān)心Servlet重要的那幾個(gè)繼承關(guān)系,怎么辦?
簡(jiǎn)單,刪掉。點(diǎn)擊選擇你想要?jiǎng)h除的類,然后直接使用鍵盤上的delete鍵就行了。清理其他類的關(guān)系后圖形如下:
2 展示類的詳細(xì)信息
有人說,誒,這怎么夠呢,那繼承下來的那些方法我也想看啊?簡(jiǎn)單,IDEA通通滿足你。
在頁面點(diǎn)擊右鍵,選擇 show categories,根據(jù)需要可以展開類中的屬性、方法、構(gòu)造方法等等。當(dāng)然,第二種方法也可以直接使用上面的工具欄:
然后你就會(huì)得到:
什么,方法里你還想篩選,比如說想看protected權(quán)限及以上范圍的?簡(jiǎn)單,右鍵選擇 Change Visibility Level,根據(jù)需要調(diào)整即可。
什么,你嫌圖形太小你看不清楚?IDEA也可以滿足你,按住鍵盤的Alt,竟然出現(xiàn)了放大鏡,驚不驚喜,意不意外?
3 加入其他類到關(guān)系中來
當(dāng)我們還需要查看其他類和當(dāng)前類是否有繼承上的關(guān)系的時(shí)候,我們可以選擇加其加入到當(dāng)前的繼承關(guān)系圖形中來。
在頁面點(diǎn)擊右鍵,選擇 Add Class to Diagram,然后輸入你想加入的類就可以了:
例如我們添加了一個(gè)Student類,如下圖所示。好吧,并沒有任何箭頭,看來它和當(dāng)前這幾個(gè)類以及接口并沒有發(fā)生什么不可描述的關(guān)系:
4 查看具體代碼
如果你想查看某個(gè)類中,比如某個(gè)方法的具體源碼,當(dāng)然,不可能給你展現(xiàn)在圖形上了,不然屏幕還不得撐炸?
但是可以利用圖形,或者配合IDEA的structure方便快捷地進(jìn)入某個(gè)類的源碼進(jìn)行查看。
雙擊某個(gè)類后,你就可以在其下的方法列表中游走,對(duì)于你想查看的方法,選中后點(diǎn)擊右鍵,選擇 Jump to Source:
在進(jìn)入某個(gè)類后,如果還想快速地查看該類的其他方法,還可以利用IDEA提供的structure功能:
選擇左側(cè)欄的structure之后,如上圖左側(cè)會(huì)展示該類中的所有方法,點(diǎn)擊哪個(gè)方法,頁面內(nèi)容就會(huì)跳轉(zhuǎn)到該方法部分去。
最后
用上面提到的的IDEA這些功能,學(xué)習(xí)和查看類關(guān)系,了解諸如主流框架源碼之類的東西,可以說是非常舒服了。
來源:www.cnblogs.com/deng-cc/p/6927447.html
最后,再附上我歷時(shí)三個(gè)月總結(jié)的?Java 面試 + Java 后端技術(shù)學(xué)習(xí)指南,筆者這幾年及春招的總結(jié),github 1.4k star,拿去不謝!
下載方式1.?首先掃描下方二維碼 2.?后臺(tái)回復(fù)「Java面試」即可獲取總結(jié)
以上是生活随笔為你收集整理的使用 IntelliJ IDEA 查看类图,内容极度舒适的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日志框架,选择Logback Or Lo
- 下一篇: 生产环境JVM内存溢出案例分析!