/**
* 执行顺序
* 1、多个静态成员变量, 静态代码块按顺序执行;
* 2、单个类中: 静态代码 -> main方法 -> 构造块 -> 构造方法
* 3、涉及父类和子类的初始化过程 a.初始化父类中的静态成员变量和静态代码块
b.初始化子类中的静态成员变量和静态代码块 c.初始化父类的普通成员变量和构造代码块(按次序),
再执行父类的构造方法(注意父类构造方法中的子类方法覆盖)
d.初始化子类的普通成员变量和构造代码块(按次序),再执行子类的构造方法
*/
public class ExcuteOrder {
//①静态成员
private static String a = "a";
//②静态方法
private static void staticMethod() {
System.out.println("static method");
}
//③静态代码块
static {
System.out.println("static block");
}
//④构造块
{
System.out.println("construct block");
}
//⑤构造方法
public ExcuteOrder() {
System.out.println("construct method");
}
//⑥main方法
public static void main(String[] args) {
System.out.println("main method");
}
}
java代码执行次序
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。