public class GameManager {
private static GameManager INSTANCE;
private final int INITIAL_SCORE = 0;
private int mCurrentScore;
GameManager(){
}
public static GameManager getInstance(){
if(INSTANCE == null){
INSTANCE = new GameManager();
}
return INSTANCE;
}
public int getCurrentScore(){
return mCurrentScore;
}
public void incrementScore(int pIncrementBy){
mCurrentScore += pIncrementBy;
}
public void resetGame(){
mCurrentScore = GameManager.INITIAL_SCORE;
}
}
我在eclipse中运行上面的代码。我想知道为什么在将 GameManager.INITIAL_SCORE 的值分配给 mCurrentScore 的值时,eclipse 告诉我“无法对非静态字段 GameManager.INITIAL_SCORE 进行静态引用”。mCurrentScore 不是静态的,是吗?如果 mCurrentScore 不是静态的,我为什么要将 INITIAL_SCORE 声明为静态?