带继承的静态块

时间:2017-04-26 13:22:53

标签: java inheritance static-block

我正在重温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消息,因为没有调用类A构造函数。

我的问题是一种基本的java,但更好的是知道事情相当空白。

1 个答案:

答案 0 :(得分:1)

创建A时会实例化

B,这就是继承的工作原理。