課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
是因為構(gòu)建了對象hello2嗎,可是為什么構(gòu)建了新對象就會再次執(zhí)行呢
2019-01-15
源自:Java入門第二季 升級版 8-10
正在回答
在創(chuàng)建完一次對象后程序執(zhí)行時最先但只執(zhí)行一次靜態(tài)初始化,然后執(zhí)行普通初始化塊最后執(zhí)行構(gòu)造方法,然后再開始往下運行與該對象有關(guān)的命令,hello對象后輸出了三條命令,hello2對象后面則沒有命令了,故會在第二次再輸出一次方法。
qq_單曲循環(huán)_ijxzB8
http://idcbgp.cn/qadetail/288303
我看到了這個答案,盆友可以參考一下
我用eclipse試了一下,確實會執(zhí)行,雖然我也不懂這是為什么,創(chuàng)建了對象hello2,但是對象并沒有被使用,為什么會執(zhí)行呢?如果有人已經(jīng)知道答案了可以告訴我一下這是為什么嗎?謝謝啦
感覺也是,又沒問你們?yōu)槭裁挫o態(tài)代碼塊沒執(zhí)行。
我的理解是,創(chuàng)建類的對象就是執(zhí)行代碼塊的過程,
代碼塊已經(jīng)建立輸出短語,輸出順序是優(yōu)先級的問題
創(chuàng)建類的新的對象,還是執(zhí)行同一類的代碼塊,只不過靜態(tài)變量已經(jīng)排除(只在類加載執(zhí)行一次)
全都答非所問,厲害了
因為構(gòu)建對象,需要對對象進行初始化,就回去調(diào)用構(gòu)造函數(shù),也就是這里的構(gòu)造方法和初始化塊,然后又因為靜態(tài)初始化只執(zhí)行一次,所以hello2初始化的時候就只有2句。
通過輸出結(jié)果,我們可以看到,程序運行時靜態(tài)初始化塊最先被執(zhí)行,然后執(zhí)行普通初始化塊,最后才執(zhí)行構(gòu)造方法。由于靜態(tài)初始化塊只在類加載時執(zhí)行一次,所以當(dāng)再次創(chuàng)建對象 hello2 時并未執(zhí)行靜態(tài)初始化塊。
lucky高
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
5 回答初始化塊和構(gòu)造方法
1 回答靜態(tài)初始化塊,初始化塊,構(gòu)造方法
3 回答為什么通過初始化塊變量和構(gòu)造方法變量輸出了兩次
2 回答關(guān)于構(gòu)造方法和初始化塊
1 回答初始化塊和構(gòu)造方法的區(qū)別
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-01-16
在創(chuàng)建完一次對象后程序執(zhí)行時最先但只執(zhí)行一次靜態(tài)初始化,然后執(zhí)行普通初始化塊最后執(zhí)行構(gòu)造方法,然后再開始往下運行與該對象有關(guān)的命令,hello對象后輸出了三條命令,hello2對象后面則沒有命令了,故會在第二次再輸出一次方法。
2019-07-01
http://idcbgp.cn/qadetail/288303
我看到了這個答案,盆友可以參考一下
2019-07-01
我用eclipse試了一下,確實會執(zhí)行,雖然我也不懂這是為什么,創(chuàng)建了對象hello2,但是對象并沒有被使用,為什么會執(zhí)行呢?如果有人已經(jīng)知道答案了可以告訴我一下這是為什么嗎?謝謝啦
2019-03-29
感覺也是,又沒問你們?yōu)槭裁挫o態(tài)代碼塊沒執(zhí)行。
我的理解是,創(chuàng)建類的對象就是執(zhí)行代碼塊的過程,
代碼塊已經(jīng)建立輸出短語,輸出順序是優(yōu)先級的問題
創(chuàng)建類的新的對象,還是執(zhí)行同一類的代碼塊,只不過靜態(tài)變量已經(jīng)排除(只在類加載執(zhí)行一次)
2019-02-16
全都答非所問,厲害了
2019-01-18
因為構(gòu)建對象,需要對對象進行初始化,就回去調(diào)用構(gòu)造函數(shù),也就是這里的構(gòu)造方法和初始化塊,然后又因為靜態(tài)初始化只執(zhí)行一次,所以hello2初始化的時候就只有2句。
2019-01-16
通過輸出結(jié)果,我們可以看到,程序運行時靜態(tài)初始化塊最先被執(zhí)行,然后執(zhí)行普通初始化塊,最后才執(zhí)行構(gòu)造方法。由于靜態(tài)初始化塊只在類加載時執(zhí)行一次,所以當(dāng)再次創(chuàng)建對象 hello2 時并未執(zhí)行靜態(tài)初始化塊。