課程
/后端開發
/Java
/Java入門第二季 升級版
我認為運行結果為
還有不明白創建類對象hello2的意思
2015-12-16
源自:Java入門第二季 升級版 8-10
正在回答
最后輸出的結果應該是:
通過靜態初始化塊為靜態變量num3賦值通過初始化塊為變量num2賦值通過構造方法為變量num1賦值num1:91
num2:74
num3:83通過初始化塊為變量num2賦值通過構造方法為變量num1賦值
_Jack_Han_
樓上不對啊
加載一個類時,先執行靜態初始化塊,再執行普通初始化塊,最后執行構造方法
所以 結果就是 num3,num2,num1,樓主說的是正確的
為什么創建hello2?
因為靜態初始化塊,在類第一次加載時執行,之后就不會執行了,但它是一直存在的,因為第一次執行之后會把它保存在內存中,所以一直存在,你可以測試一下,new hello2 的時候 不會執行“通過靜態...”那句話,但輸出hello2.num3時 還可以得出值是83。
聽見你流淚 提問者
應該是num1、num2、num3的順序輸出啊。你現在能理解什么是類什么是對象嗎,建議你在看看前面類和對象那一章節
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
5 回答這段代碼要怎么改才能執行
2 回答不清楚代碼怎么運行
2 回答這段代碼的意思?
10 回答同樣的代碼,我的不能運行,怎么回事?
1 回答求著兩段代碼區別,為什么運行結果不同?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-12-16
最后輸出的結果應該是:
通過靜態初始化塊為靜態變量num3賦值
通過初始化塊為變量num2賦值
通過構造方法為變量num1賦值
num1:91
num2:74
num3:83
通過初始化塊為變量num2賦值
通過構造方法為變量num1賦值
2015-12-16
樓上不對啊
加載一個類時,先執行靜態初始化塊,再執行普通初始化塊,最后執行構造方法
所以 結果就是 num3,num2,num1,樓主說的是正確的
為什么創建hello2?
因為靜態初始化塊,在類第一次加載時執行,之后就不會執行了,但它是一直存在的,因為第一次執行之后會把它保存在內存中,所以一直存在,你可以測試一下,new hello2 的時候 不會執行“通過靜態...”那句話,但輸出hello2.num3時 還可以得出值是83。
2015-12-16
應該是num1、num2、num3的順序輸出啊。你現在能理解什么是類什么是對象嗎,建議你在看看前面類和對象那一章節