最新回答 / qq_慕后端7456332
第一行代碼沒把(int)強制轉換括起來,他的執行方式是先強制類型轉換,最后加1. 而第二行括起來了,所以是先先加1,然后才進行強制類型轉換。也是小白,不知道解釋的對不對
2019-10-26
最新回答 / Shallway12138
通過hello2的創建與hello1創建的輸出對比,從而說明靜態初始化代碼塊只執行一次啊,而且是在類加載的時候執行,與類對象的創建過程無關。
2019-10-21
已采納回答 / 山野小花曳風雨
時靜態初始化塊只能給靜態變量賦值,不能初始化普通的成員變量。題目中要求通過靜態初始化塊初始化age,所以age得定義為靜態變量。靜態變量屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享。所以當某個變量假若被頻繁使用就可以考慮使用靜態變量。但是靜態變量的生命周期知道該類被銷毀的時候才會被回收資源,所以不要定義太多,會影響內存。文中原話是:然而在某些時候,我們更希望該類所有的對象共享同一個成員。你理解有誤。
2019-10-21
最贊回答 / 慕先生7064480
前面是把Dog對象轉換成Animal對象,自動類型轉換。Dog dog2 = animal是把Animal對象轉換成Dog對象,強制類型轉換。
2019-10-19