課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
為什么不執(zhí)行最后一行我懂了,但我沒看到調(diào)用hello2?。??
2017-04-01
源自:Java入門第二季 升級版 8-10
正在回答
在加載一個新的對象時,會先初始化塊,然后在調(diào)用構(gòu)造方法。初始化塊的時候,會先初始化靜態(tài)類型的變量,再初始化一般變量。而靜態(tài)變量在一個main方法中只會初始化一次,所以在hello2中沒有num3,而且num2在num1前面??梢园裩ello1和hello的順序換一下就清楚了
是因為在創(chuàng)造Hello2時,調(diào)用了構(gòu)造方法和初始化塊,但由于靜態(tài)初始化塊只會執(zhí)行一次,所以只會打印兩條。
蘇文進(jìn)
同問,只是創(chuàng)建了一個hello2的對象,為什么前面的非靜態(tài)變量還會再賦值一次并打印出來呢? 是因為用構(gòu)造方法創(chuàng)建對象的時候,會自動執(zhí)行一遍前面的那段代碼嗎?
意思是不會執(zhí)行靜態(tài)初始化塊,也就是不會在出現(xiàn)一次“通過靜態(tài)初始化塊為靜態(tài)變量num3賦值”
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
2 回答為什么創(chuàng)建類對象hello2 會再執(zhí)行一次程序呀 TAT
5 回答此時為什么會有Animal類執(zhí)行了和Dog類執(zhí)行了
2 回答為什么正確的代碼也執(zhí)行不了
2 回答最后一句hello2為什么還會輸出兩行
3 回答為什么定義對象hello2之后就重新執(zhí)行了塊和方法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-07-10
在加載一個新的對象時,會先初始化塊,然后在調(diào)用構(gòu)造方法。初始化塊的時候,會先初始化靜態(tài)類型的變量,再初始化一般變量。而靜態(tài)變量在一個main方法中只會初始化一次,所以在hello2中沒有num3,而且num2在num1前面??梢园裩ello1和hello的順序換一下就清楚了
2017-05-01
是因為在創(chuàng)造Hello2時,調(diào)用了構(gòu)造方法和初始化塊,但由于靜態(tài)初始化塊只會執(zhí)行一次,所以只會打印兩條。
2017-04-21
同問,只是創(chuàng)建了一個hello2的對象,為什么前面的非靜態(tài)變量還會再賦值一次并打印出來呢? 是因為用構(gòu)造方法創(chuàng)建對象的時候,會自動執(zhí)行一遍前面的那段代碼嗎?
2017-04-01
意思是不會執(zhí)行靜態(tài)初始化塊,也就是不會在出現(xiàn)一次“通過靜態(tài)初始化塊為靜態(tài)變量num3賦值”