首先,,父类中的super()方法当然是调用父类的父类,,没有写的话,所有类都继承自Object类,,这是所有类的父类,,于是父类中的这个super()方法什么也没有..
这个题的执行顺序是先main()方法,,,--创建一个Zi类对象,,,因为Zi对象有继承关系,,所以默认的先执行父类的构造方法--就是Fu().,,,这个方法中是一个super()方法,,什么也没发生,,接着执行父类中的show()方法,,,这时系统突然发现,,子类与父类中都有show()方法,,且写法完全相同,,,于是就出现了继承中的重写,,,在继承关系中只要出现重写,,就会从最底层开始执行,,就是从子类的show(),方法开始执行,,子类的show(),方法就是输出zi show...num,,,但这时的num根本就没有初始化,,于是这时的num就是一个0,,,于是执行return,返回,,
接着就是子类的事了,,执行子类的构造函数,,--初始化num=8,,---子类的对象z调用show()方法,,输出zi show...num,,,这时的num已经初始化了,,于是这里的num是8.
结果显示是:
zi show...0
zi show...8 |