2 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
真正的答案是:不要那樣做。你看,如果那個(gè) ClassC 是關(guān)于存儲(chǔ)玩家的詳細(xì)信息......首先調(diào)用它Player
(即使在舉例子時(shí):使用有意義的名稱以便人們理解你的意圖)。
一旦我們談?wù)撏婕?,就?huì)很清楚:一個(gè)Player
對(duì)象可能應(yīng)該模擬一個(gè)(人類或非人類)玩家。沒有“沒有”名字或年齡的人類。這告訴你:錯(cuò)誤的方法。你的類和模型應(yīng)該反映現(xiàn)實(shí)。
您不會(huì)預(yù)先創(chuàng)建空對(duì)象;您在有意義的時(shí)間點(diǎn)創(chuàng)建它們(然后您向它們提供必要的信息,因此您可以理想地通過將所有字段聲明為最終字段來使對(duì)象不可變)。
所以,長(zhǎng)話短說:退后一步,重新考慮你的設(shè)計(jì)。如果有“某事”不需要存在填充的 Player 對(duì)象,那么這可能應(yīng)該是靜態(tài)方法,并且它可能不應(yīng)該位于 Player 類上。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
但在這種情況下,我實(shí)際上并不想用值初始化一個(gè)對(duì)象,而只是將它用作對(duì)象的引用指針,這樣我就可以調(diào)用該類中的方法
問題是這些方法通常需要對(duì)象的狀態(tài)才能有意義(即要初始化的字段)。static
如果在您的情況下他們不這樣做,那么制作方法(和 call ClassC.methodC()
)或?qū)⑦@些方法放在具有默認(rèn)構(gòu)造函數(shù)的其他類上可能更有意義。
添加回答
舉報(bào)