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

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

這運行結果不明白

就是我想問是,那個輸出語句按順序來不是先從num1到num2的嗎?第二就是那個創建第二個對象hello2 的時候 ,為什么運行結果還會出現通過初始化塊為變量num2賦值 這些語句。本人愚鈍,求大神指教。。


正在回答

3 回答

程序運行時靜態初始化塊最先被執行,然后執行普通初始化塊,最后才執行構造方法。由于靜態初始化塊只在類加載時執行一次,所以當再次創建對象 hello2 時并未執行靜態初始化塊。

這個是正解。就是說因為hello1的運行順序是靜態初始化 num3 ==>初始化塊num2 ==>構造方法 num1;
然后他又創建了hello2,因為靜態模塊只能執行一次,所以num3不執行,只執行num2 ==>num1

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

程序運行時靜態初始化塊最先被執行,然后執行普通初始化塊,最后才執行構造方法。由于靜態初始化塊只在類加載時執行一次,所以當再次創建對象 hello2 時并未執行靜態初始化塊。

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

痛苦,不知道你具體指哪里,不過繼續看吧,后面有相關內容。執行的循序并不是我們打出代碼的循序,有它自己的一套規定,所以方法啊什么的可以寫在main函數后面調用,一般開發都是先寫大概思路,再寫具體方法,我想這應該就是它為什么這樣規定吧。

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

舉報

0/150
提交
取消

這運行結果不明白

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

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

幫助反饋 APP下載

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

公眾號

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