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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

程序中劃線句輸出結果是下面這兩句這是為什么啊?

程序中劃線句輸出結果是下面這兩句這是為什么啊?

totosspace 2016-07-14 10:34:16
程序中劃線句 輸出結果是下面這兩句。這是為什么???還有,能解釋一下這個程序的運行過程(是從哪里開始運行的?再到哪里?)
查看完整描述

2 回答

已采納
?
米沙之國

TA貢獻30條經驗 獲得超16個贊

http://img1.sycdn.imooc.com//5787292300016f2804530171.jpg

你打印的第一行沒顯示出來.


HelloWorld hello=new HelloWorld();這局代碼會先初始化static int num3;靜態變量--->static{靜態代碼塊}--->int num1;int num2;(變量)--->{初始話塊}--->public HelloWorld(){構造方法}


而靜態變量和靜態代碼塊在內存中只會有一個,是屬于類的,而不是類的某個實例,只會初始化一次HelloWorld hello2=new HelloWorld();不會運行

查看完整回答
2 反對 回復 2016-07-14
  • totosspace
    totosspace
    第一行顯示了,不過沒有截圖進來。 還是沒有看懂。
  • 米沙之國
    米沙之國
    類的初始化會先初始化靜態的,其生命周期取決于類的生命周期,而{初始化塊}和構造方法是屬于一個具體的類的實例,其生命周期取決于某個類具體實例的生命周期;換句話說就是靜態的變量或靜態代碼塊會附著在一個抽象的類上,被所有實例所共用,而類的實例化只是根據這個抽象的實例話出一個具體的,所以會先初始話抽象的在初始化具體的,及先初始話靜態的.
?
損失函數

TA貢獻114條經驗 獲得超93個贊

當你實例化對象時,Java虛擬機執行的順序是為1-->2--->3

1:{代碼塊}

2:static{靜態代碼塊}

3:構造方法

望采納!

查看完整回答
反對 回復 2016-07-14
  • 米沙之國
    米沙之國
    static{靜態代碼塊}會比{代碼塊}先初始話的!
  • 損失函數
    損失函數
    對的,剛測試下靜態塊確實比{代碼塊}先執行。所以順序為2--->1--->3
  • 少年阿鎮丶
    少年阿鎮丶
    那為什么沒有輸出為num3賦值的語句,
點擊展開后面1
  • 2 回答
  • 0 關注
  • 1317 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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