Java中动态代码块,构造代码块,静态代码块之间的执行顺序

Posted hglibin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中动态代码块,构造代码块,静态代码块之间的执行顺序相关的知识,希望对你有一定的参考价值。

Java中动态代码块,构造代码块,静态代码块之间的执行顺序

/**
 * Java中动态代码块,构造代码块,静态代码块之间的执行顺序
 * @author Administrator
 *
 */
class HelloA {

    public HelloA() {
        System.out.println("HelloA");
    }

    {
        System.out.println("I'm A class");
    }

    static {
        System.out.println("static A");
    }

}

public class HelloB extends HelloA {

    public HelloB() {
        System.out.println("HelloB");
    }

    {
        System.out.println("I'm B class");
    }

    static {
        System.out.println("static B");
    }

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

点击查看结果

static A       // 父类的静态代码块
static B       // 子类的静态代码块
I'm A class    // 父类的动态代码块
HelloA         // 父类的构造方法
I'm B class    // 子类的动态代码块
HelloB         // 子类的构造方法

以上是关于Java中动态代码块,构造代码块,静态代码块之间的执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

Java中的Static静态代码块以及各代码块之间的执行顺序

Java中的Static静态代码块以及各代码块之间的执行顺序

一文详解:Java中父子类静态块构造块构造方法成员变量之间的初始化先后顺序与执行先后顺序

java代码执行顺序

java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有啥作用呢

Java 代码块,普通代码块,构造代码块,静态代码块