title: Calling enum's method
body: <p>I have the following enum:</p>
  
  <pre><code> enum Days{
      TODAY{
          @Override
          public Date getLowerBound(){
              another();             //1
              currentUpperBound();   //2
              return null;
          }
  
          @Override
          public Date another() {
              return null;
          }
      };
  
      public abstract Date getLowerBound();
  
      public abstract Date another();
  
      private Date currentUpperBound(){
          return null;
      }
  }
  </code></pre>
  
  <p>Why does <code>//2</code> causes compile-time error with </p>
  
  <pre><code>Cannot make a static reference to the non-static method 
  currentUpperBound() from the type Days
  </code></pre>
  
  <p>But <code>//1</code> compiles fine? Both methods are non-static. I can't see any problem... Maybe it has something to do with Eclipse?</p>
  
  <p><strong><em>UPDATE:</em></strong> As @Florian Schaetz noticed in the comment, if we declare the method  having <code>static private</code> modifier it will work fine. Why?</p>