亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問為什么最后HelloWorld hello2=new HelloWorld();會輸出最后2行

請問為什么最后HelloWorld hello2=new HelloWorld();會輸出最后2行

正在回答

3 回答

當創建對象的實例時,就會依次執行初始化塊,構造方法;

HelloWorld hello2=new HelloWorld();//創建對象的實例,這時就調用之前的初始化代碼,

靜態初始化塊只能執行一次,hello1的時候已創建,所以Hello2不再創建靜態初始化塊的部分,所以就剩最后兩行的輸出了。

0 回復 有任何疑惑可以回復我~

有初始化塊時,先執行用靜態初始化塊(

static ?{?

System.out.println("通過靜態初始化塊初始化age");

age = 20;

}

),再執行普通初始化塊(

{?

System.out.println("通過初始化塊初始化sex");

sex = "男";

}

),最后執行用構造方法(

public HelloWorld() {?

System.out.println("通過構造方法初始化name");

name = "tom";

}

),這是顯示前三行的原因,最后通過對象調用了show方法(hello.show2()),所以會顯示最后一行

0 回復 有任何疑惑可以回復我~
#1

金乘三

左邊例題程序里沒有 hell.show2()
2016-07-08 回復 有任何疑惑可以回復我~
#2

weibo_徐_無_鬼_0 回復 金乘三

最后一行是因為對象創立的時候會調用構造方法
2016-07-17 回復 有任何疑惑可以回復我~

倒數第二行是因為new一個對象時會調用他的構造方法,所以輸出了構造方法中的那句話;最后一行是因為調用了show()方法,hello2.show()

0 回復 有任何疑惑可以回復我~
#1

19901120 提問者

感謝你的幫助 最后一行輸出的是構造方法我懂了 但是倒數第二行的通過初始化 還是不是太清楚 請問是哪里調用
2016-07-04 回復 有任何疑惑可以回復我~
#2

金乘三

左邊例題程序中 沒有顯示hello2.這個語句呀,麻煩大神解答
2016-07-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問為什么最后HelloWorld hello2=new HelloWorld();會輸出最后2行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號