new 一个对象的时候: 1. 加载静态的变量和静态的方法,执行静态代码块 2. 调用构造函数中的super方法创建父类的对象 (在调用被子类重写的方法时,访问子类的成员变量时,子类额成员变量还没有被初始化,其值为null。子类的静态变量由于已经被加载,所以其值为被赋予的值 ),创建成功后返回子类的构造函数 3. 跳出构造函数,执行非静态代码块,初始化成员变量 4. 返回构造函数,执行super()函数后面的代码,直到构造函数执行结束。 总结: 先静后动,先父后子,从上到下,先变量后构造