今天做了一道关于静态代码块的题,主要是看对于静态代码的理解以及执行顺序,题目如下:
自己看了半天也是糊里糊涂的,之后找了一些资源后了解了一些执行顺序
(1)父类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
(2)子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
(3)父类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
(4)执行父类构造方法。
(5)子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
(6)执行子类构造方法。
总结来说就是:父类静态代码块 ->子类静态代码块 ->父类非静态代码块 -> 父类构造函数 -> 子类非静态代码块 -> 子类构造函数。
也就是: 1、静态优先,普通块随后 ,构造方法次之。2、无论静态还是块或者构造,先父再子。