执行顺序:静态成员初始化>静态代码块>将分配给对象的存储空间初始化成二进制的零>类成员变量初始化>初始化块>构造方法
此处的类成员变量初始化是指单独写在初始化块外的变量。
其中入口main函数所在的类的静态部分会优于其他部分执行,然后再从父类开始执行。
以上所有静态部分执行完才会执行其他。
每次执行构造方法时都会执行一次初始化块。(如果在初始化块中定义变量则只能定义为final)
子类会默认执行父类的无参构造器,如果父类没有无参构造方法则必须使用super调用父类带参数的构造方法,否则编译不通过。
初始化顺序参考链接
将分配给对象的存储空间初始化成二进制的零参考链接
JAVA中初始化的执行顺序
最新推荐文章于 2022-06-21 13:33:43 发布