title: Illegal forward Reference java issue
body: <p>Could anyone explain what is wrong with this code:</p>
  
  <pre><code>    public class Base {
  
  
      static {
          i = 1;
          System.out.println("[Base]after static init block i=" + i);// LINE 1
          System.out.println("*************************************");
          System.out.println();
      }
      static int i;
  
  
  
      public static void main(String[] args) {
          System.out.println(Base.i);
      }
  }
  </code></pre>
  
  <p>If I comment LINE 1 - everything is OK and Base.main method prints "1".
  If LINE 1 - is not commented, got compile time error: "illegal forward reference". 
  So, as i understand in static init block I can set value for i, but not read. Could anyone explain why?</p>