IDEA中查看類(lèi)繼承圖和類(lèi)源碼的騷操作
我們都知道IDEA這個(gè)開(kāi)發(fā)工具非常好用,功能非常之多,今天在復(fù)習(xí)Java集合體系的時(shí)候,想查看某個(gè)類(lèi)或接口的繼承結(jié)構(gòu),然后就搜索一波,都是使用了IDEA Diagram的插件,這里也分享一下。
比如我寫(xiě)了這樣一段代碼
public class CollectionLearning {
public static void main(String[] args) {
List list = new ArrayList();
list.add("java");
list.add("Android");
list.add("python");
list.add("前端");
//lambda+方法引用:遍歷list集合元素
list.forEach(System.out::println);
}
}
然后我想查看ArrayList的繼承結(jié)構(gòu),我們可以右鍵點(diǎn)擊ArrayList類(lèi),在彈出的對(duì)話(huà)框選擇Diagram。

會(huì)顯示兩個(gè)選項(xiàng):
Show Diagram… -->在新標(biāo)簽頁(yè)顯示類(lèi)繼承結(jié)構(gòu)圖

Show Diagram Popup… -->在當(dāng)前頁(yè)彈層顯示類(lèi)繼承結(jié)構(gòu)圖

感覺(jué)還是在新標(biāo)簽頁(yè)顯示好,我們就看到了ArrayList的繼承結(jié)構(gòu)圖

這樣看就非常清晰明了,有時(shí)候覺(jué)得把全部有關(guān)系的類(lèi)或接口顯示出來(lái)太占屏幕,我們也可以刪除某個(gè)不關(guān)心的類(lèi)或接口,鼠標(biāo)點(diǎn)擊某個(gè)類(lèi)或接口,按住delete鍵就會(huì)刪除它。

我們刪除了Cloneable、Serializable、RandomAccess接口,還有我們注意到上面有不同顏色和虛實(shí)線箭頭,這些線是標(biāo)注類(lèi)與類(lèi)、類(lèi)與接口之間的關(guān)系。
藍(lán)色實(shí)線箭頭:類(lèi)之間繼承綠色實(shí)線箭頭:接口之間繼承綠色虛線箭頭:類(lèi)實(shí)現(xiàn)接口
有時(shí)候光看類(lèi)繼承結(jié)構(gòu)圖還不夠,我們還想類(lèi)中的方法,變量,構(gòu)造器等等。
我們可以右鍵點(diǎn)擊當(dāng)前頁(yè)面

在上圖中,我們就可以選擇顯示變量、構(gòu)造器、方法、屬性、內(nèi)部類(lèi)。我們點(diǎn)擊Fileds

這樣我們就顯示出該繼承結(jié)構(gòu)圖中涉及的類(lèi)或接口的變量,我們?cè)冱c(diǎn)擊構(gòu)造器

這樣也會(huì)把所有構(gòu)造器顯示出來(lái),這對(duì)于我們想快速了解一個(gè)類(lèi)內(nèi)部結(jié)構(gòu)非??焖?,我們上面的操作也可以使用快速工具欄來(lái)完成。

我們還可以快速進(jìn)入到變量或者方法的源碼當(dāng)中。我們雙擊某個(gè)類(lèi)或接口,這時(shí)鼠標(biāo)就會(huì)在其中游走,然后我們對(duì)某個(gè)方法選擇Jump to Source,就可以進(jìn)入源碼當(dāng)中


有時(shí)候我們覺(jué)得顯示的圖比較小,看不清楚,我們就可以使用放大鏡功能,按住Alt鍵,鼠標(biāo)移到哪就是放大鏡。

有時(shí)候我們還想查看其他類(lèi)是否和當(dāng)前類(lèi)有關(guān)系,我們就把其他類(lèi)添加進(jìn)來(lái),
右鍵點(diǎn)擊選擇Add Class to Diagram...

彈出一個(gè)對(duì)話(huà)框

我們?cè)陬?lèi)中輸入類(lèi)名,按回車(chē)即可。這里我輸入Map接口

這樣我們就知道ArrayList和Map沒(méi)有關(guān)系(這里可能多此一舉,本來(lái)就顯示了當(dāng)前類(lèi)所有的繼承結(jié)構(gòu)圖)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號(hào)的方法詳解
在某個(gè)論壇下用戶(hù)可以隨意留言,為了防止不法分子在網(wǎng)上任意沖浪,需要對(duì)一些敏感詞匯進(jìn)行一些校驗(yàn),所以這篇文章給大家介紹了Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號(hào)的方法,需要的朋友可以參考下2024-03-03
Java SpringCache+Redis緩存數(shù)據(jù)詳解
本篇文章主要介紹了淺談SpringCache與redis緩存數(shù)據(jù)的解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2021-10-10
java?list和map切割分段的實(shí)現(xiàn)及多線程應(yīng)用案例
這篇文章主要為大家介紹了java?list和map切割分段的實(shí)現(xiàn)及多線程應(yīng)用案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Mybatis源碼分析之存儲(chǔ)過(guò)程調(diào)用和運(yùn)行流程
這一篇我們學(xué)習(xí)一下Mybatis調(diào)用存儲(chǔ)過(guò)程的使用和運(yùn)行流程,首先我們創(chuàng)建一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程,具體創(chuàng)建過(guò)程大家可以通過(guò)本文學(xué)習(xí)下2016-11-11
Springcloud seata分布式事務(wù)實(shí)現(xiàn)代碼解析
這篇文章主要介紹了Springcloud seata分布式事務(wù)實(shí)現(xiàn)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
一文學(xué)會(huì)如何在SpringBoot中使用線程池執(zhí)行定時(shí)任務(wù)
在開(kāi)發(fā)現(xiàn)代應(yīng)用程序時(shí),定時(shí)任務(wù)是一項(xiàng)常見(jiàn)的需求,SpringBoot提供了一個(gè)強(qiáng)大的定時(shí)任務(wù)框架,可以輕松地執(zhí)行各種定時(shí)任務(wù),結(jié)合線程池的使用,可以更好地管理任務(wù)的執(zhí)行,提高系統(tǒng)的性能和穩(wěn)定性,本文將介紹如何在Spring Boot中使用線程池執(zhí)行定時(shí)任務(wù)2023-06-06
MyBatis基礎(chǔ)支持DataSource實(shí)現(xiàn)源碼解析
這篇文章主要為大家介紹了MyBatis基礎(chǔ)支持DataSource實(shí)現(xiàn)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
使用Spring實(shí)現(xiàn)@Value注入靜態(tài)字段
這篇文章主要介紹了使用Spring實(shí)現(xiàn)@Value注入靜態(tài)字段方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05

