Java代码块的执行顺序

2019-08-15  本文已影响0人  7i昂

执行顺序
首先执行静态代码块
接着执行构造代码块
最后指向构造方法

静态代码块 >>> 构造代码块 >>>> 构造方法

public class People {

    {
        System.out.println("父类构造代码块");
    }

    static {
        System.out.println("父类静态代码块");
    }

    public People() {
        System.out.println("父类构造方法");
    }
    public People(String str){
        System.out.println("父类含参构造方法");
    }
}
public class Student extends People{
    {
        System.out.println("子类构造代码块");
    }
    static {
        System.out.println("子类静态代码块");
    }

    public Student() {
        //super(null);
        System.out.println("子类构造方法");
    }

    public static void main(String[] args) {
        new Student();
    }
}

输出结果:
父类静态代码块
子类静态代码块
父类构造代码块
父类构造方法
子类构造代码块
子类构造方法

super(null)注释取消掉

输出结果:

父类静态代码块
子类静态代码块
父类构造代码块
父类含参构造方法
子类构造代码块
子类构造方法

上一篇 下一篇

猜你喜欢

热点阅读