課程
/后端開發
/Java
/Java入門第二季 升級版
計算機在執行程序代碼塊時,應該按照從上到下的順序依次執行,為什么會率先執行靜態初始化塊,之后繼續向上執行其他的初始化塊?而不是在執行完靜態初始化塊之后,按照從上到下的順序,執行其他初始化塊
2016-04-06
源自:Java入門第二季 升級版 8-10
正在回答
因為靜態成員優先于對象存在
我已經知道靜態代碼塊會優先執行,我的關鍵問題是在例子中,總共聲明了三個代碼塊,分別為,num1,num2,num3,在執行完num3這個靜態代碼塊之后,執行的是num2,按照我的理解應該執行num1,num1和num2都是普通代碼塊,不是應該按照從上到下的順序執行嗎?逆著來就不是很明白了,現在的話,我認為,我只需要知道程序會優先執行靜態代碼塊就足夠了,其他的代碼塊的執行順序并沒有關系,該聲明聲明,該賦值的賦值,我只是比較奇怪運行順序的改變
老實得很
守住心中的那份寧靜 提問者 回復 老實得很
老實得很 回復 守住心中的那份寧靜 提問者
慕粉3677886 回復 守住心中的那份寧靜 提問者
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
1 回答靜態初始化塊
2 回答靜態初始化塊
4 回答靜態初始化塊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-04-06
因為靜態成員優先于對象存在
2016-04-06
我已經知道靜態代碼塊會優先執行,我的關鍵問題是在例子中,總共聲明了三個代碼塊,分別為,num1,num2,num3,在執行完num3這個靜態代碼塊之后,執行的是num2,按照我的理解應該執行num1,num1和num2都是普通代碼塊,不是應該按照從上到下的順序執行嗎?逆著來就不是很明白了,現在的話,我認為,我只需要知道程序會優先執行靜態代碼塊就足夠了,其他的代碼塊的執行順序并沒有關系,該聲明聲明,該賦值的賦值,我只是比較奇怪運行順序的改變