java 父类、子类各方法执行的顺序

java中父类和子类代码块的执行顺序

定义一个父类

package test1;

public class A {
    static {
        System.out.println("父类的静态代码");
    }

    public A() {
        System.out.println("父类的构造函数代码");
    }

    {
        System.out.println("父类的非静态构造方法");
    }
}

定义一个子类

package test1;

public class B extends A{
    static{
        System.out.println("B的静态代码块");
    }

    {
        System.out.println("B的非静态构造方法");
    }

    public B() {
        System.out.println("B的构造函数");
    }

    public static void main(String[] args) {
        B b = new B();
    }
}

执行结果:

1 父类的静态代码
2 B的静态代码块
3 父类的非静态构造方法
4 父类的构造函数代码
5 B的非静态构造方法
6 B的构造函数
posted @ 2022-05-17 15:58  一闪而过的不同  阅读(315)  评论(0)    收藏  举报