如何解決Java循環(huán)依賴的問題

今天就跟大家聊聊有關(guān)如何解決Java循環(huán)依賴的問題,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

10多年的東港網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整東港建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“東港網(wǎng)站設(shè)計(jì)”,“東港網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

最近看到一個(gè)問題:如果有兩個(gè)類A和B,A類中有一個(gè)B的對(duì)象b,B類中有一個(gè)A的對(duì)象a,那么如何解決這兩個(gè)類的相互依賴關(guān)系呢,幾天就給大家說(shuō)一下Java的循環(huán)依賴,raksmart服務(wù)器。

舉個(gè)栗子1:
如何解決Java循環(huán)依賴的問題

可以看到A類的構(gòu)造方法中,new了一個(gè)B的對(duì)象,同時(shí)B類的構(gòu)造方法中,new了一個(gè)A的對(duì)象。

如果此時(shí)我們運(yùn)行該類的話,會(huì)報(bào)如下錯(cuò)誤:

Exception in thread “main” java.lang.StackOverflowError

問題出現(xiàn)的原因在于A類和B類之間出現(xiàn)了循環(huán)依賴。

那么是否有方法可以解決這個(gè)問題呢?答案是:有

舉個(gè)栗子2:
如何解決Java循環(huán)依賴的問題
如何解決Java循環(huán)依賴的問題

運(yùn)行例子2,運(yùn)行結(jié)果為:

BB

AA

AA

BB

在例子2中,testa和testb創(chuàng)建時(shí)調(diào)用的是類A和類B的默認(rèn)構(gòu)造方法,創(chuàng)建了類A和類B的實(shí)例。

然后將B的實(shí)例注入到類A中。testa.b = testb;

將A的實(shí)例注入到類B中。testb.a = testa;

testa.print()調(diào)用b.printA();b.printA()調(diào)用a.printA();a.printA()顯示結(jié)果為AA

我們通過屬性注入的方法,使得類A和類B不在出現(xiàn)例子1中的錯(cuò)誤,并且使得兩個(gè)相互依賴的類A和B可以調(diào)用相互依賴的方法。

事實(shí)上,spring中也是通過依賴注入的方法來(lái)解決類的相互依賴問題。

看完上述內(nèi)容,你們對(duì)如何解決Java循環(huán)依賴的問題有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁(yè)名稱:如何解決Java循環(huán)依賴的問題
鏈接URL:http://muchs.cn/article48/ihdgep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站制作、App開發(fā)、網(wǎng)站維護(hù)動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)