原文地址 https://www.cnblogs.com/mcmx/p/11335911.html
对象初始化的顺序:
首先是类加载,类加载的过程中为静态变量初始化,以及载入静态方法(先加载父类,再加载子类,只是加载变量和方法,没有执行)
其次是调用static代码块,static代码块的作用是为静态变量赋值,可以调用静态方法(先调用父类的,再调用子类的)
然后是初始化对象,先执行非静态代码块,再执行构造函数(也是先调用父类的再调用子类的)
以上步骤都是父类执行完了才执行子类的
原文地址 https://www.cnblogs.com/mcmx/p/11335911.html
对象初始化的顺序:
首先是类加载,类加载的过程中为静态变量初始化,以及载入静态方法(先加载父类,再加载子类,只是加载变量和方法,没有执行)
其次是调用static代码块,static代码块的作用是为静态变量赋值,可以调用静态方法(先调用父类的,再调用子类的)
然后是初始化对象,先执行非静态代码块,再执行构造函数(也是先调用父类的再调用子类的)
以上步骤都是父类执行完了才执行子类的