子类对象实例化的具体过程?1、为子类对象分配内存空间,对域变量进行默认初始化。2、绑定构造方法,将new对象中的参数传递到构造方法的形式参数。3、调用this或super语句(注意二者只可以出现其一)4、进行实例变量的显式初始化操作5、执行当前构造方法体的程序代码.
通过这个准则,去看代码就轻松了,首先执行main方法,对Z中的变量y分配空间,并默认初始化,然后再执行super(),也就是X的构造函数,再对应这个准则,为X中的变量y分配内存空间,并默认初始化。在执行第4步,new Y()赋值给X 中的y,即打印"Y",再执行第五步,构造函数,打印“X",然后再对Z 中的成员变量就行赋值,new Y().打印"Y",再执行Z的构造函数,即打印”Z" |