当实例化对象时,对象所在类的所有成员变量首先要进行初始化,只有当所有类成员的成员
完成初始化后,才会调用对象所在类的构造函数创建对象。
三个原则:
1)静态对象(变量)优先于非静态对象(变量),其中静态对象(变量)只初始化一次
而非静态对象(变量)可能会初始化多次。
3)父类优先于子类进行初始化。
2)按成员变量的定义顺序进行初始化。
执行顺序如下:父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数