2009-04-28 23 views
1

我正在研究此程序,在遊戲結束時我問用戶是否要再次玩。如果他們說是,我需要開始一場新的比賽。我做了一個重新啓動()方法:Java:重置程序中的所有值

public void restart(){ 
    Game g = new Game(); 
    g.playGame(); 
} 

然而,當我在他們什麼以前的遊戲中調用此方法的某些值在我的計劃逗留。

是否有一款遊戲可以清除所有內容,並使用所有默認值創建遊戲的新實例?

+0

你能發表更多的代碼嗎?遊戲課程?包含restart()方法的類? – Mark 2009-04-28 14:19:52

回答

7

沒有更多的信息,我想你的問題很可能是你使用靜態變量,它的值將持續在給定類的所有實例上。如果你把它們都變成成員變量並在你的構造函數中初始化它們,它應該可以工作。

1

驗證這些未重置的值是否在遊戲構造函數中重置。機會是他們不是。

這些值也是靜態的嗎?靜態值不會被構造函數重置。

0

你有任何靜態變量嗎?如果是,那很可能是問題所在。靜態變量的值爲您的類的新實例維護。您可以嘗試刪除靜態修飾符,並確保在類構造函數中初始化所有變量。

相關問題