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

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

靜態初始化塊之后的其他初始化塊運行順序

計算機在執行程序代碼塊時,應該按照從上到下的順序依次執行,為什么會率先執行靜態初始化塊,之后繼續向上執行其他的初始化塊?而不是在執行完靜態初始化塊之后,按照從上到下的順序,執行其他初始化塊

正在回答

2 回答

因為靜態成員優先于對象存在

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

我已經知道靜態代碼塊會優先執行,我的關鍵問題是在例子中,總共聲明了三個代碼塊,分別為,num1,num2,num3,在執行完num3這個靜態代碼塊之后,執行的是num2,按照我的理解應該執行num1,num1和num2都是普通代碼塊,不是應該按照從上到下的順序執行嗎?逆著來就不是很明白了,現在的話,我認為,我只需要知道程序會優先執行靜態代碼塊就足夠了,其他的代碼塊的執行順序并沒有關系,該聲明聲明,該賦值的賦值,我只是比較奇怪運行順序的改變

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

老實得很

num1不是普通代碼塊,而是構造方法,執行的優先級應該為靜態代碼塊>普通代碼塊>構造方法
2016-04-07 回復 有任何疑惑可以回復我~
#2

守住心中的那份寧靜 提問者 回復 老實得很

事實上,我在把上面的代碼全部運行之后,盡管num1輸出內容為“通過構造方法為變量num1賦值”,num2輸出內容為“通過初始化塊為變量num2賦值”,但是實際上在num1和num2并沒有區別,均為普通代碼塊,并且我在將num1和num2的順序進行調換后,輸出的信息也進行了調換
2016-04-07 回復 有任何疑惑可以回復我~
#3

守住心中的那份寧靜 提問者 回復 老實得很

已經明白了是我的基礎知識不夠牢固,的確是靜態代碼塊>實例化代碼塊>構造方法
2016-04-07 回復 有任何疑惑可以回復我~
#4

老實得很 回復 守住心中的那份寧靜 提問者

請采納答案,謝謝
2016-04-08 回復 有任何疑惑可以回復我~
#5

守住心中的那份寧靜 提問者 回復 老實得很

如何采納你的回答呢?在你之前已經有人回答過了,但是他的回答并沒有給我解決疑問,“采納答案”不在你的答案這里,咋弄?
2016-04-08 回復 有任何疑惑可以回復我~
#6

慕粉3677886 回復 守住心中的那份寧靜 提問者

為什么是這樣的順序
2017-03-23 回復 有任何疑惑可以回復我~
查看3條回復

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

靜態初始化塊之后的其他初始化塊運行順序

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

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

幫助反饋 APP下載

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

公眾號

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