一尘不染

Java中的静态块

java

前几天,我在查看一些代码,然后发现:

static {
    ...
}

来自C ++,我不知道为什么会这样。它不是错误,因为代码编译良好。这个“静态”代码块是什么?


阅读 307

收藏
2020-02-27

共1个答案

一尘不染

这是一个静态初始化器。它是在加载类时执行的(确切地说是初始化,但通常不会注意到它们之间的区别)。

可以将其视为“类构造函数”。

请注意,还有一些实例初始化器,它们看起来一样,只是它们没有static关键字。当创建对象的新实例时,除了构造函数中的代码外,还会运行这些代码。

2020-02-27