title: Cannot make a static reference to the non-static field when creating a singleton Manager
body: <pre><code>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;
      }
  }
  </code></pre>
  
  <p>I run the above code in eclipse. 
  I'd like to know why eclipse told me "Cannot make a static reference to the non-static field GameManager.INITIAL_SCORE" when assigning the value of GameManager.INITIAL_SCORE to that of mCurrentScore. mCurrentScore is not static, is it? If mCurrentScore is not static, why should I declare INITIAL_SCORE as static?</p>