具有继承性的静态块

static block with inheritance

我正在重温 java 的概念。所以,我在看这个例子

 class A {
    A( ) {System.out.print("CA");}
    static {System.out.print("SA");}
}
class B extends  A {
    B() {System.out.print("CB");}
    static {System.out.print("SB");}
    public static void main(String[] args) {
        B b = new B();
    }
}

这里的输出是SASBCACB

所以我不明白为什么打印 CA 消息,因为 class 没有调用构造函数。

我的问题有点基础java,但最好了解一些事情而不是一无所知。

A 在创建 B 时实例化,这就是继承的工作原理。