課程
/后端開(kāi)發(fā)
/Java
/Java入門(mén)第二季 升級(jí)版
請(qǐng)問(wèn)為什么最后HelloWorld hello2=new HelloWorld();會(huì)輸出最后2行
2016-07-04
源自:Java入門(mén)第二季 升級(jí)版 8-10
正在回答
當(dāng)創(chuàng)建對(duì)象的實(shí)例時(shí),就會(huì)依次執(zhí)行初始化塊,構(gòu)造方法;
HelloWorld hello2=new HelloWorld();//創(chuàng)建對(duì)象的實(shí)例,這時(shí)就調(diào)用之前的初始化代碼,
靜態(tài)初始化塊只能執(zhí)行一次,hello1的時(shí)候已創(chuàng)建,所以Hello2不再創(chuàng)建靜態(tài)初始化塊的部分,所以就剩最后兩行的輸出了。
有初始化塊時(shí),先執(zhí)行用靜態(tài)初始化塊(
static ?{?
System.out.println("通過(guò)靜態(tài)初始化塊初始化age");
age = 20;
}
),再執(zhí)行普通初始化塊(
{?
System.out.println("通過(guò)初始化塊初始化sex");
sex = "男";
),最后執(zhí)行用構(gòu)造方法(
public HelloWorld() {?
System.out.println("通過(guò)構(gòu)造方法初始化name");
name = "tom";
),這是顯示前三行的原因,最后通過(guò)對(duì)象調(diào)用了show方法(hello.show2()),所以會(huì)顯示最后一行
金乘三
weibo_徐_無(wú)_鬼_0 回復(fù) 金乘三
倒數(shù)第二行是因?yàn)閚ew一個(gè)對(duì)象時(shí)會(huì)調(diào)用他的構(gòu)造方法,所以輸出了構(gòu)造方法中的那句話(huà);最后一行是因?yàn)檎{(diào)用了show()方法,hello2.show()
19901120 提問(wèn)者
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開(kāi)發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
2 回答最后一句hello2為什么還會(huì)輸出兩行
7 回答提問(wèn)一下,例題里最后一句HelloWorld hello2=new HelloWorld();這句代碼是什么意思?有什么含義嗎?
2 回答最后的pri2 hello2=new pri2()是怎么運(yùn)行的?
4 回答HelloWorld hello =new HelloWorld(); sum(); int allScore;為什么錯(cuò)誤了,麻煩幫忙看看,謝謝。
2 回答HelloWorld o = new HelloWorld (); Inner inn = o.new Inner(); ;和 Inner inn =new Inner (); 怎么理解啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-07-29
當(dāng)創(chuàng)建對(duì)象的實(shí)例時(shí),就會(huì)依次執(zhí)行初始化塊,構(gòu)造方法;
HelloWorld hello2=new HelloWorld();//創(chuàng)建對(duì)象的實(shí)例,這時(shí)就調(diào)用之前的初始化代碼,
靜態(tài)初始化塊只能執(zhí)行一次,hello1的時(shí)候已創(chuàng)建,所以Hello2不再創(chuàng)建靜態(tài)初始化塊的部分,所以就剩最后兩行的輸出了。
2016-07-04
有初始化塊時(shí),先執(zhí)行用靜態(tài)初始化塊(
static ?{?
System.out.println("通過(guò)靜態(tài)初始化塊初始化age");
age = 20;
}
),再執(zhí)行普通初始化塊(
{?
System.out.println("通過(guò)初始化塊初始化sex");
sex = "男";
}
),最后執(zhí)行用構(gòu)造方法(
public HelloWorld() {?
System.out.println("通過(guò)構(gòu)造方法初始化name");
name = "tom";
}
),這是顯示前三行的原因,最后通過(guò)對(duì)象調(diào)用了show方法(hello.show2()),所以會(huì)顯示最后一行
2016-07-04
倒數(shù)第二行是因?yàn)閚ew一個(gè)對(duì)象時(shí)會(huì)調(diào)用他的構(gòu)造方法,所以輸出了構(gòu)造方法中的那句話(huà);最后一行是因?yàn)檎{(diào)用了show()方法,hello2.show()