class Super{
static int d=10;
static void meth(){
System.out.println(d);
}
}
class Sub extends Super{
static double d=30.0;

static void meth(){
System.out.println(d);
}
}
class InstanceChk {
public static void main(String[] args) {

Super s = new Sub();
System.out.println(s.d);
s.meth();

}
}
上のコードでは10 30.0 下のコードでは10 10が
出力されます。javaを1ヶ月やってみたのですがどうしても
わからないのです。ご教授ください。