这题很有意思,需要你对初始化够了解才能解出来 ,现在我们来看一下吧。
这题通过分析得出考的是初始化。关于初始化有以下知识点
(取自继承与多态(继承部分)这文章中)
所以根据上方那段知识点可知:
在这段代码中我们可知没有静态代码块和静态成员变量,所以类的加载不会影响结果。
我们再看这段代码中当创造类的实例对象时,先初始化父类的实例成员变量,然后由于没有实例代码块,于是再执行父类构造方法,然后初始化子类的实例成员变量,最后执行子类构造方法。
所以打印结果为YXYZ。
上方是官方的答题解析,其解析比较简陋,并没很好讲清楚其本质原因,没我的上方解析好,大家看看就行。
所以这就是我们这道很有意思的题,还望大家能给作者点个关注,点个赞,评个论,你们的支持就是我更新下去的最大动力!