課程
/后端開發(fā)
/Java
/Java入門第二季
helloWorld hello2=new HelloWorld()這句話有什么用,為什么還會輸出“通過初始化為變量num2賦值”和“通過構(gòu)造方法為變量num1賦值”
2018-01-20
源自:Java入門第二季 8-10
正在回答
新創(chuàng)建一個(gè)類的對象,類中的代碼塊和方法都會被執(zhí)行,但靜態(tài)塊只執(zhí)行一次,所以hello2里面只輸出2個(gè)。
helloWorld hello2=new HelloWorld()這句話就是創(chuàng)建了類HelloWorld的一個(gè)對象hello2。普通來說,每一次創(chuàng)建類的一個(gè)對象,類中的代碼塊和方法都會被調(diào)用一次,HelloWorld中有三個(gè)初始化代碼塊,普通情況下在創(chuàng)建對象hello2時(shí)三種應(yīng)該都調(diào)用一次,但是有一個(gè)是靜態(tài)的初始代碼塊,這個(gè)代碼塊在之前創(chuàng)建對象hello的時(shí)候已經(jīng)分配了空間,也就是已經(jīng)實(shí)例化了。所以在創(chuàng)建對象hello2的時(shí)候沒有再執(zhí)行這個(gè)靜態(tài)代碼塊。所以只輸出了兩行“通過初始化為變量num2賦值”和“通過構(gòu)造方法為變量num1賦值”。
F_ake
Erque 回復(fù) F_ake
舉報(bào)
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
3 回答請問為什么最后HelloWorld hello2=new HelloWorld();會輸出最后2行
4 回答為什么老師敲得代碼執(zhí)行了hello還會執(zhí)行hello2?
3 回答為什么最后運(yùn)行時(shí)沒有輸出另外兩個(gè)參數(shù)?
2 回答最后的pri2 hello2=new pri2()是怎么運(yùn)行的?
5 回答為什么會輸出兩遍呢
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)微信公眾號
2018-04-16
新創(chuàng)建一個(gè)類的對象,類中的代碼塊和方法都會被執(zhí)行,但靜態(tài)塊只執(zhí)行一次,所以hello2里面只輸出2個(gè)。
2018-01-20
helloWorld hello2=new HelloWorld()這句話就是創(chuàng)建了類HelloWorld的一個(gè)對象hello2。普通來說,每一次創(chuàng)建類的一個(gè)對象,類中的代碼塊和方法都會被調(diào)用一次,HelloWorld中有三個(gè)初始化代碼塊,普通情況下在創(chuàng)建對象hello2時(shí)三種應(yīng)該都調(diào)用一次,但是有一個(gè)是靜態(tài)的初始代碼塊,這個(gè)代碼塊在之前創(chuàng)建對象hello的時(shí)候已經(jīng)分配了空間,也就是已經(jīng)實(shí)例化了。所以在創(chuàng)建對象hello2的時(shí)候沒有再執(zhí)行這個(gè)靜態(tài)代碼塊。所以只輸出了兩行“通過初始化為變量num2賦值”和“通過構(gòu)造方法為變量num1賦值”。