首先看父类的静态成员和静态初始化代码块,按其在代码中出现的顺序依次执行。
接着看子类的静态成员和静态初始化代码块,按其在代码中出现的顺序依次执行。
接着看父类的实例成员和实例初始化代码块,按其在代码中出现的顺序依次执行。
然后执行父类构造函数方法
接着看子类的实例成员和实例初始化代码块,按其在代码中出现的顺序依次执行。
然后执行子类构造函数方法
首先看父类的静态成员和静态初始化代码块,按其在代码中出现的顺序依次执行。
接着看子类的静态成员和静态初始化代码块,按其在代码中出现的顺序依次执行。
接着看父类的实例成员和实例初始化代码块,按其在代码中出现的顺序依次执行。
然后执行父类构造函数方法
接着看子类的实例成员和实例初始化代码块,按其在代码中出现的顺序依次执行。
然后执行子类构造函数方法