public class A {
       public String s="A";
       public static int i=1;
   }
public class B extends A {
      public String s="B";
      public static int i=2;
public static void main(String [] args) {
              A a= new B();
              B b= new B();
              System.out.print(a.s+a.i);
              System.out.print(b.s+b.i);
}
}
Why the output is "A1B2" instead of "A1B1"? Doesn't fields can't be overridden, and also static fields can't?
 
    