类B extends A,在类B中,有两个变量s,一个是扩展自A的s(称之为SA),一个是自身拥有的s(称之为SB)
SA="A"
SB="B"
a=b,让a指向实例b,所以,a也就是b
System.out.println(a.s);这一句,就相当于显示b.SA,所以,这里显示的是A
下图是a=b之前,a和b的成员:
第三个A在哪?
a=b把b的引用付给了a
此时a的对象就是 B
B又继承了A,所以B里有两个s属性,一个是B自身的(BB) 一个是继承自A的(A)
所以输出a.s就输出了继承自A的属性s,这个属性并没有赋过值 所以还是初始化的值 A