溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Idea如何解析類之間的關(guān)系

發(fā)布時(shí)間:2021-10-20 10:48:22 來源:億速云 閱讀:199 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Idea如何解析類之間的關(guān)系,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

前言

當(dāng)你在閱讀源碼的時(shí)候,看到那些繼承來實(shí)現(xiàn)去的各種類和接口,是不是已經(jīng)不知道他的爸爸(父類)是誰,他的爺爺(父類的父類)是誰,只知道他的祖宗是誰(Object類)?畢竟類之間的關(guān)系太說不清道不明,只能說一句"貴圈真亂"

Idea如何解析類之間的關(guān)系

沒關(guān)系,Idea有一個(gè)超級強(qiáng)大并且非常實(shí)用的東西,可以讓你一下子就搞清楚他們之間那些,輕松搞定他們之間的關(guān)系,畢竟誰也不想喜當(dāng)?shù)?quot;我怎么突然多了一個(gè)內(nèi)部類,他是不是我的內(nèi)部類"??纯唇涌谀敲淳G就知道,他自己有多少孩子都不知道

Idea如何解析類之間的關(guān)系

線代表的含義

藍(lán)色實(shí)線 --> 繼承

綠色虛線 --> 實(shí)現(xiàn)

紅色實(shí)現(xiàn) --> 內(nèi)部類

我們以 ReentrantLock 舉例

原諒色

Idea如何解析類之間的關(guān)系

我們看到,Sync這個(gè)抽象類是 ReentrantLock類的內(nèi)部類,我們再看類圖關(guān)系中,他就是用紅色線表示關(guān)系

不信我們再看看另一個(gè)類 AbstractQueuedSynchronizer

Idea如何解析類之間的關(guān)系

藍(lán)色

Idea如何解析類之間的關(guān)系

Idea如何解析類之間的關(guān)系

兩種模式

  • 第一個(gè)就是我一開始展現(xiàn)的那種,他會(huì)單獨(dú)在另一個(gè)窗口打開

  • 第二個(gè)他會(huì)直接在類的旁邊彈出一個(gè)窗口,顯示關(guān)系

Idea如何解析類之間的關(guān)系

我們一進(jìn)去是這樣的,并不是我開頭的那樣,各種說不清的父親叔叔,因?yàn)樗婚_始只顯示直接父類和實(shí)現(xiàn)的接口

先找他的父親

Idea如何解析類之間的關(guān)系

ReentrantLock 是一個(gè)富二代,他沒有爺爺,祖宗,只有一個(gè)爸爸。因?yàn)樗麤]有繼承除了Object之外的類

找他的養(yǎng)子(內(nèi)部類,不是繼承自他的)

Idea如何解析類之間的關(guān)系

過濾、篩選

Idea如何解析類之間的關(guān)系

Idea如何解析類之間的關(guān)系

這樣就可以直接跳轉(zhuǎn)進(jìn)源碼

添加其他類

有的時(shí)候你覺得這個(gè)類不是你想要的,你還要橫向?qū)Ρ龋页鏊氖迨?爺爺相同,但是沒有直接的繼承關(guān)系)或者兄弟姐妹(父親相同的類)

你可以直接右鍵選擇這個(gè)

然后輸入你想添加的類,比如Thread類

Idea如何解析類之間的關(guān)系

然后就會(huì)添加進(jìn)來,如果他們兩個(gè)沒有關(guān)系(如果是類都會(huì)有關(guān)系,畢竟都繼承自O(shè)bject,但是如果父類沒有加載出來,就認(rèn)為沒有關(guān)系),那么就不會(huì)有連線,比如我們刪除Object類

Idea如何解析類之間的關(guān)系

最后

有了這樣的東西,我想你不論是閱讀源碼還是做什么,你應(yīng)該都不會(huì)搞不清楚類和類/(接口)之間的關(guān)系了

祝大家都能開開心心的閱讀源碼,解讀他們之間的關(guān)系

上述就是小編為大家分享的Idea如何解析類之間的關(guān)系了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI