多态的要素:继承,重写,向上转型
做题步骤
this.show(o)---->super.show(o)----->this.show(super(o))---->super.show(super(o))
以a.show(b)为例
A a = new B();
首先去找this.show(o)即 A.show(b),A类中不存在类B
其次去找super.show(o)即A的父类,A的父类为Object(跳过)
然后去找this.show(super(o))即A.show(b的父类 A)。
写到这里又发现类B重写了A的show(A) 编译时执行B.show(A)
输出结果为 B and A