具有继承性的静态块
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
时实例化,这就是继承的工作原理。
我正在重温 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
时实例化,这就是继承的工作原理。