java代码执行次序

/**
 * 执行顺序
 * 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");
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。