課程
/后端開發(fā)
/Java
/Java入門第二季
helloWorld hello2=new HelloWorld()這句話有什么用,為什么還會(huì)輸出“通過初始化為變量num2賦值”和“通過構(gòu)造方法為變量num1賦值”
2018-01-20
源自:Java入門第二季 8-10
正在回答
新創(chuàng)建一個(gè)類的對(duì)象,類中的代碼塊和方法都會(huì)被執(zhí)行,但靜態(tài)塊只執(zhí)行一次,所以hello2里面只輸出2個(gè)。
helloWorld hello2=new HelloWorld()這句話就是創(chuàng)建了類HelloWorld的一個(gè)對(duì)象hello2。普通來說,每一次創(chuàng)建類的一個(gè)對(duì)象,類中的代碼塊和方法都會(huì)被調(diào)用一次,HelloWorld中有三個(gè)初始化代碼塊,普通情況下在創(chuàng)建對(duì)象hello2時(shí)三種應(yīng)該都調(diào)用一次,但是有一個(gè)是靜態(tài)的初始代碼塊,這個(gè)代碼塊在之前創(chuàng)建對(duì)象hello的時(shí)候已經(jīng)分配了空間,也就是已經(jīng)實(shí)例化了。所以在創(chuàng)建對(duì)象hello2的時(shí)候沒有再執(zhí)行這個(gè)靜態(tài)代碼塊。所以只輸出了兩行“通過初始化為變量num2賦值”和“通過構(gòu)造方法為變量num1賦值”。
F_ake
Erque 回復(fù) F_ake
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
3 回答請(qǐng)問為什么最后HelloWorld hello2=new HelloWorld();會(huì)輸出最后2行
4 回答為什么老師敲得代碼執(zhí)行了hello還會(huì)執(zhí)行hello2?
2 回答最后的pri2 hello2=new pri2()是怎么運(yùn)行的?
3 回答為什么最后運(yùn)行時(shí)沒有輸出另外兩個(gè)參數(shù)?
7 回答提問一下,例題里最后一句HelloWorld hello2=new HelloWorld();這句代碼是什么意思?有什么含義嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-04-16
新創(chuàng)建一個(gè)類的對(duì)象,類中的代碼塊和方法都會(huì)被執(zhí)行,但靜態(tài)塊只執(zhí)行一次,所以hello2里面只輸出2個(gè)。
2018-01-20
helloWorld hello2=new HelloWorld()這句話就是創(chuàng)建了類HelloWorld的一個(gè)對(duì)象hello2。普通來說,每一次創(chuàng)建類的一個(gè)對(duì)象,類中的代碼塊和方法都會(huì)被調(diào)用一次,HelloWorld中有三個(gè)初始化代碼塊,普通情況下在創(chuàng)建對(duì)象hello2時(shí)三種應(yīng)該都調(diào)用一次,但是有一個(gè)是靜態(tài)的初始代碼塊,這個(gè)代碼塊在之前創(chuàng)建對(duì)象hello的時(shí)候已經(jīng)分配了空間,也就是已經(jīng)實(shí)例化了。所以在創(chuàng)建對(duì)象hello2的時(shí)候沒有再執(zhí)行這個(gè)靜態(tài)代碼塊。所以只輸出了兩行“通過初始化為變量num2賦值”和“通過構(gòu)造方法為變量num1賦值”。