我正在阅读 Bruce Eckel 第 4 版的 Thinking in Java。在初始化和清理一章中,第 189 页第二段中的第一个要点提到:
即使它没有显式使用 static 关键字,构造函数实际上也是一个静态方法。
我有以下代码:
class Bar {
Bar() {
System.out.println("Bar Creation");
}
}
class Foo {
static int x = 10;
static Bar b = new Bar();
Foo() {
System.out.println("Foo Creation");
}
}
public class Test {
public static void main(String[] args) {
System.out.println(Foo.x);
}
}
如果它说的是真的应该调用 Foo 的构造函数。我看不到以下代码会发生这种情况。
输出是:
Bar Creation
10
有人可以澄清这是什么意思吗?
我已尽力引用这本书。我认为该陈述之前或之后的部分与该问题的上下文中的该陈述没有太大关系。
谢谢,
古吉