title: Ambiguous call from static context in Java
body: <p>The main method tries to access var, but results in ambiguous call. Why? Instance variable var in Base1 isn't accessible (visible?) from static context anyway.</p>
  
  <pre><code>  class Base1 {
        int var;
    }
  
    interface Base2 {
        public static final int var = 0;
    }
  
    class Test extends Base1 implements Base2 { 
        public static void main(String args[]) {
            System.out.println("var:" + var); 
        }
    }
  </code></pre>