最新回答 / Shallway12138
通過hello2的創(chuàng)建與hello1創(chuàng)建的輸出對比,從而說明靜態(tài)初始化代碼塊只執(zhí)行一次啊,而且是在類加載的時候執(zhí)行,與類對象的創(chuàng)建過程無關(guān)。
2019-10-21
已采納回答 / 山野小花曳風(fēng)雨
時靜態(tài)初始化塊只能給靜態(tài)變量賦值,不能初始化普通的成員變量。題目中要求通過靜態(tài)初始化塊初始化age,所以age得定義為靜態(tài)變量。靜態(tài)變量屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享。所以當(dāng)某個變量假若被頻繁使用就可以考慮使用靜態(tài)變量。但是靜態(tài)變量的生命周期知道該類被銷毀的時候才會被回收資源,所以不要定義太多,會影響內(nèi)存。文中原話是:然而在某些時候,我們更希望該類所有的對象共享同一個成員。你理解有誤。
2019-10-21
最贊回答 / 慕先生7064480
前面是把Dog對象轉(zhuǎn)換成Animal對象,自動類型轉(zhuǎn)換。Dog dog2 = animal是把Animal對象轉(zhuǎn)換成Dog對象,強(qiáng)制類型轉(zhuǎn)換。
2019-10-19
最新回答 / Verckolf
老師的目的是要展示靜態(tài)方法,可以直接獲取靜態(tài)變量而無需實例化,來達(dá)到教學(xué)目的。你這屬于單純的計算兩個靜態(tài)變量的值,目的不一樣嘍~~
2019-10-17
final關(guān)鍵字:使用final關(guān)鍵字做表示有“最終的”含義
final可以修飾類、方法、屬性和變量
final修飾類,則該類不允許被繼承
final修飾方法,則該方法不允許被覆蓋(重寫)
final修飾屬性:則該類的屬性不會進(jìn)行隱式的初始化(初始化屬性時賦值)或在構(gòu)造方法中賦值(但只能選其一)
final修飾變量,則該變量的值只能賦一次值,即變?yōu)槌A?;如果使用final修飾變量,且沒有給該變量賦值,系統(tǒng)不會自動給該變量賦默認(rèn)值0,會報錯
final可以修飾類、方法、屬性和變量
final修飾類,則該類不允許被繼承
final修飾方法,則該方法不允許被覆蓋(重寫)
final修飾屬性:則該類的屬性不會進(jìn)行隱式的初始化(初始化屬性時賦值)或在構(gòu)造方法中賦值(但只能選其一)
final修飾變量,則該變量的值只能賦一次值,即變?yōu)槌A?;如果使用final修飾變量,且沒有給該變量賦值,系統(tǒng)不會自動給該變量賦默認(rèn)值0,會報錯
2019-10-17
如果把一個靜態(tài)方法比作一個將軍,那么靜態(tài)對象就是將軍的私兵,可以不通過虎符(類的對象)來調(diào)動,而非靜態(tài)對象就是其他的軍隊,將軍可以調(diào)用其他軍隊,但是必須通過虎符(類的對象)來調(diào)動。
2019-10-14