Java-类加载和main()方法的执行顺序?

2、类加载和main()的执行顺序?

备注:执行main()方法会先加载main()方法所在的类。存在继承关系中,创建子类对象初始化过程为:

父类静态成员和语句块

子类静态成员和静态语句块

父类普通成员和普通语句块

父类构造函数

子类普通成员和普通语句块

父类构造函数

示例如下:

public class A {
    public A(){
        System.out.println("A构造函数-----");
    }
    {
        System.out.println("A普通语句块-----");
    }
    static
    {
        System.out.println("A静态语句块-----");
    }

}

class B extends A{
    public B(){
        System.out.println("B构造函数-----");
    }
    {
        System.out.println("B普通语句块-----");
    }
    static
    {
        System.out.println("B静态语句块-----");
    }

    public static void main(String[] args) {
        System.out.println("main---------");
        A a = new B();
    }
}

posted @ 2020-08-15 11:35  Tamako521  阅读(1836)  评论(0编辑  收藏  举报