最近被一个面试题难住了,看来之前对JAVA的执行顺序欠了解。以为原面试题代码:

Java中static块、构造块、构造函数的执行顺序
public class Example {
    public static void main(String[] args) {

        HelloB bb = new HelloB();
    }
}

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

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

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();
    }
}
View Code

相关文章: