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

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

如下程序hello2是怎么被賦值的,程序運行到它的時候已經結束了啊,運行結果為什么會有最后兩行?

http://img1.sycdn.imooc.com//56d1d2060001057a03310223.jpg

第一張是運行結果,第二張截圖是代碼,就是不明白運行結果的最后兩行代碼?我覺得運行結果不應該有最后兩行.....

  • 56d1d08000017e3f05000412.jpg

正在回答

2 回答

HelloWorld類里面有三個變量,num1,num2,num3,其中num3是靜態變量

在初始化模塊里面有num2和num3的賦值并且輸出,但是因為num3是靜態變量,所以先初始化num3

在main中新建HelloWorld對象的時候,就會初始化靜態變量和成員變量,再調用構造方法

所以輸出是 num3,num2,num1(構造方法輸出的)

然后就三行System.out.println的對象變量的調用,輸出對應的值

HelloWorld hello2 =new HelloWorld();

這里又創建了一個對象,hello2,因為靜態變量只有第一次調用的時候會初始化,第二次以后不會

所以輸出 num2,num1。

可能是你沒有注意到new了一個hello2


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

格心派 提問者

我當時只是覺得hello2剛創建對象程序就結束了,后面居然對它的成員變量賦值了還打印出來了感到奇怪.... 不過現在覺得無所謂了 **你的名字有點意思哦,倒過來念叫超奇妙....謝謝
2016-02-29 回復 有任何疑惑可以回復我~
#2

吾怯二日

誰叫奇妙
2016-02-29 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

如下程序hello2是怎么被賦值的,程序運行到它的時候已經結束了啊,運行結果為什么會有最后兩行?

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

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

幫助反饋 APP下載

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

公眾號

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