第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

求教一個(gè)堆棧溢出的問題

求教一個(gè)堆棧溢出的問題

class Demo {   Demo d = new Demo(); } class Test { ? Demo d = new Demo();//編譯通過   main() { ? ? ? ? ? ?new Demo();//堆棧溢出   } } 如上代碼 ,為什么Test類main方法中的會(huì)報(bào)錯(cuò),但是成員中的編譯通過呢
查看完整描述

6 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊

你要問的應(yīng)該是為什么編譯能通過.但還是堆棧溢出了.

編譯:只是檢測語法問題.你這個(gè)是邏輯BUG.編譯器檢查不出來的.必須要運(yùn)行起來才能知道會(huì)溢出.

編譯的時(shí)候并沒有運(yùn)行.

你需要搞清楚2個(gè)時(shí)間:編譯時(shí),運(yùn)行時(shí).就像宏命令只是編譯時(shí)生效一樣.宏命令屬于編譯時(shí).而這種代碼運(yùn)行時(shí)才會(huì)拋出的bug.屬于運(yùn)行時(shí).編譯器無能為力

查看完整回答
反對(duì) 回復(fù) 2018-12-16
?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

因?yàn)槟阍贒emo類中遞歸實(shí)例引用了,所以new的時(shí)候會(huì)爆棧,改成如下:

class Demo {

  static?Demo d = new Demo();

}

查看完整回答
反對(duì) 回復(fù) 2018-12-16
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

不好意思 這個(gè)遞歸是怎么發(fā)生的 很多人都跟我這么解釋,搞不太懂

查看完整回答
反對(duì) 回復(fù) 2018-12-16
?
至尊寶的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊

遞歸引用,棧溢出。

IDE只檢測編譯期錯(cuò)誤,運(yùn)行時(shí)錯(cuò)誤,如樓上所說,無能為力。

查看完整回答
反對(duì) 回復(fù) 2018-12-16
?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊

一直new下去?

查看完整回答
反對(duì) 回復(fù) 2018-12-16
?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

解釋一下為什么會(huì)溢出吧:

一個(gè)類實(shí)例化的時(shí)候,會(huì)先運(yùn)行其成員變量的語句。即你在Test類中調(diào)用new Demo()的時(shí)候,實(shí)例化這個(gè)Demo的時(shí)候,會(huì)先執(zhí)行Demo類中的Demo d = new Demo()這一句,這時(shí)候又要求實(shí)例化Demo, 此時(shí)又要先執(zhí)行Demo d = new Demo(), 然后又要求實(shí)例化Demo...... 這樣就形成了死循環(huán),最終溢出。

查看完整回答
反對(duì) 回復(fù) 2018-12-16
  • 6 回答
  • 0 關(guān)注
  • 616 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)