2015-05-31 107 views
1

我正在試圖在java上創建一個遊戲。遊戲正在運行,現在我想創建一個高分的課程。變量「score」已經存在於一個類中,並且我在另一個類中創建了一個變量highscore。類和變量

在第二類我寫道:

if (highscore < score) { 
highscore = score;} 

但它不能識別變量「分數」即使所有的類都在同一個包和變量和類是公共...有人可以幫助我嗎?

+3

那麼他們在不同的類,如你所說。您需要參考包含分數的類的實例。例如:'if(highscore

+0

如果會有許多不同'score'類的實例會怎樣?如果(高分<分數)代表他們中的哪一個應該得分? – Pshemo

回答

1

Score是其他類的屬性,所以嘗試從該類訪問您的對象,然後訪問它。 例子:

Player p = new Player(); 
... 
if(highscore < p.score) 
... 
+0

可以在不是「主類」的類中創建對象嗎?具有變量「分數」的類不是主類... – mitsi

+0

當然,JAVA是一種面向對象的語言。您可以在每個類方法中創建儘可能多的對象(尊重OO規則和可見性)。此外,建議避免在「主」類或主要方法中執行所有邏輯。我建議學習面向對象的編程範例最佳實踐。 – iouhammi

0

如果你的分數是不是一個對象的字段,你可以把它寫像這樣:

class Score{ 
private int score=5; 
public static int getScore(){ 
    return score; 
} 
} 

class yourClass{ 
if(highscore<Score.getScore()) 
highscore=Score.getScore(); 

}