一、加载代码时:
1)、父类的静态代码块和静态属性按顺序执行。(静态方法只加载,不引用,不执行)
2)、子类的静态代码块和静态属性按顺序执行。(静态方法只加载,不引用,不执行)
二、创建对象时:
1)、在stack中创建对象名称(没有则无此步)。 2)、在heap中开辟对象空间。 3)、创建父类成员变量并默认初始化。
4)、对父类成员变量进行显示初始化。 5)、父类构造代码块(非静态代码块) 6)、父类的构造函数
7)、创建子类的成员变量并默认初始化。 8)、对子类对象进行显示初始化 。 9)、子类构造代码块(非静态代码块)。
10)子类构造函数。