··子类的实例化过程:(很重要)[子类的实例化过程]
Person p=new Person()
···jvm会进行读取到指定路径下的Person.class文件,并加载到内 存,并会加载Person的父类(如果有直接父类的情况)
···在堆内存中的开辟空间,分配地址
···并在对象空间中,对对象的属性进行默认初始化
···调用对应的构造函数
···在构造函数中,第一行会调用父类的构造函数进行初始化
···父类的构造调用顺序,但是先进行父类的构造代码块初始化
···继而进行父类的成员变量的显示初始化
···然后对父类的成员进行特定初始化
···在父类初始化完毕后,进行调用父类的构造代码块
···对子类的属性进行显示初始化
···再进行对子类构造函数的属性进行特定的初始化
···初始化化完毕之后,将地址赋给引用变量。 |