Java中类的加载顺序执行结果

来源:互联网 发布:统计学数据分析案例题 编辑:程序博客网 时间:2024/05/18 04:15
public class Parent {    public static int a = parentStaticMethod2();    {        System.out.println("父类非静态初始化块");    }    static {        System.out.println("父类静态初始化块");    }    public Parent() {        System.out.println("父类的构造方法");    }    public static int parentStaticMethod() {        System.out.println("父类类的静态方法1");        return 10;    }    public static int parentStaticMethod2() {        System.out.println("父类的静态方法2");        return 9;    }    @Override    protected void finalize() throws Throwable {        // TODO Auto-generated method stub        super.finalize();        System.out.println("销毁父类");    }    public static void main(String[] args) {        new Child();    }}class Child extends Parent {    {        System.out.println("子类非静态初始化块");    }    static {        System.out.println("子类静态初始化块");    }    public Child() {        System.out.println("子类的构造方法");    }    public static int childStaticMethod() {        System.out.println("子类的静态方法");        return 1000;    }    @Override    protected void finalize() throws Throwable {        // TODO Auto-generated method stub        super.finalize();        System.out.println("销毁子类");    }}

执行结果:
父类的静态方法2
父类静态初始化块
子类静态初始化块
父类非静态初始化块
父类的构造方法
子类非静态初始化块
子类的构造方法

原创粉丝点击