這運行結(jié)果不明白
就是我想問是,那個輸出語句按順序來不是先從num1到num2的嗎?第二就是那個創(chuàng)建第二個對象hello2 的時候 ,為什么運行結(jié)果還會出現(xiàn)通過初始化塊為變量num2賦值 這些語句。本人愚鈍,求大神指教。。
就是我想問是,那個輸出語句按順序來不是先從num1到num2的嗎?第二就是那個創(chuàng)建第二個對象hello2 的時候 ,為什么運行結(jié)果還會出現(xiàn)通過初始化塊為變量num2賦值 這些語句。本人愚鈍,求大神指教。。
2016-01-03
舉報
2016-01-04
程序運行時靜態(tài)初始化塊最先被執(zhí)行,然后執(zhí)行普通初始化塊,最后才執(zhí)行構(gòu)造方法。由于靜態(tài)初始化塊只在類加載時執(zhí)行一次,所以當再次創(chuàng)建對象 hello2 時并未執(zhí)行靜態(tài)初始化塊。
這個是正解。就是說因為hello1的運行順序是靜態(tài)初始化 num3 ==>初始化塊num2 ==>構(gòu)造方法 num1;
然后他又創(chuàng)建了hello2,因為靜態(tài)模塊只能執(zhí)行一次,所以num3不執(zhí)行,只執(zhí)行num2 ==>num1
2016-01-04
程序運行時靜態(tài)初始化塊最先被執(zhí)行,然后執(zhí)行普通初始化塊,最后才執(zhí)行構(gòu)造方法。由于靜態(tài)初始化塊只在類加載時執(zhí)行一次,所以當再次創(chuàng)建對象 hello2 時并未執(zhí)行靜態(tài)初始化塊。
2016-01-03
痛苦,不知道你具體指哪里,不過繼續(xù)看吧,后面有相關(guān)內(nèi)容。執(zhí)行的循序并不是我們打出代碼的循序,有它自己的一套規(guī)定,所以方法啊什么的可以寫在main函數(shù)后面調(diào)用,一般開發(fā)都是先寫大概思路,再寫具體方法,我想這應(yīng)該就是它為什么這樣規(guī)定吧。