課程
/后端開發
/Java
/Java入門第二季 升級版
請問為什么最后HelloWorld hello2=new HelloWorld();會輸出最后2行
2016-07-04
源自:Java入門第二季 升級版 8-10
正在回答
當創建對象的實例時,就會依次執行初始化塊,構造方法;
HelloWorld hello2=new HelloWorld();//創建對象的實例,這時就調用之前的初始化代碼,
靜態初始化塊只能執行一次,hello1的時候已創建,所以Hello2不再創建靜態初始化塊的部分,所以就剩最后兩行的輸出了。
有初始化塊時,先執行用靜態初始化塊(
static ?{?
System.out.println("通過靜態初始化塊初始化age");
age = 20;
}
),再執行普通初始化塊(
{?
System.out.println("通過初始化塊初始化sex");
sex = "男";
),最后執行用構造方法(
public HelloWorld() {?
System.out.println("通過構造方法初始化name");
name = "tom";
),這是顯示前三行的原因,最后通過對象調用了show方法(hello.show2()),所以會顯示最后一行
金乘三
weibo_徐_無_鬼_0 回復 金乘三
倒數第二行是因為new一個對象時會調用他的構造方法,所以輸出了構造方法中的那句話;最后一行是因為調用了show()方法,hello2.show()
19901120 提問者
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
7 回答提問一下,例題里最后一句HelloWorld hello2=new HelloWorld();這句代碼是什么意思?有什么含義嗎?
2 回答最后一句hello2為什么還會輸出兩行
2 回答最后的pri2 hello2=new pri2()是怎么運行的?
2 回答HelloWorld o = new HelloWorld (); Inner inn = o.new Inner(); ;和 Inner inn =new Inner (); 怎么理解啊
3 回答這里的HelloWorld hello=new HelloWorld();不是創建類的對象hello嗎,為什么上邊的代碼會被執行?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-29
當創建對象的實例時,就會依次執行初始化塊,構造方法;
HelloWorld hello2=new HelloWorld();//創建對象的實例,這時就調用之前的初始化代碼,
靜態初始化塊只能執行一次,hello1的時候已創建,所以Hello2不再創建靜態初始化塊的部分,所以就剩最后兩行的輸出了。
2016-07-04
有初始化塊時,先執行用靜態初始化塊(
static ?{?
System.out.println("通過靜態初始化塊初始化age");
age = 20;
}
),再執行普通初始化塊(
{?
System.out.println("通過初始化塊初始化sex");
sex = "男";
}
),最后執行用構造方法(
public HelloWorld() {?
System.out.println("通過構造方法初始化name");
name = "tom";
}
),這是顯示前三行的原因,最后通過對象調用了show方法(hello.show2()),所以會顯示最后一行
2016-07-04
倒數第二行是因為new一個對象時會調用他的構造方法,所以輸出了構造方法中的那句話;最后一行是因為調用了show()方法,hello2.show()