20

最近在看的很多节目中,我注意到

static {
    //some code here
}

我只是在寻找一些关于这个的信息,我习惯于代码块都在方法中,或者只是在类中,这只是用静态修饰符设置块内的所有代码,还是有更多的东西?

4

3 回答 3

14

这可能是来自 静态初始化块的重复问题

无论您创建多少该类型的对象,静态块只会被调用一次。

于 2012-11-10T05:42:15.347 回答
4

一旦 JVM 加载您的类,静态块中的代码将首先执行(例如,在您的构造函数之前)。

于 2012-11-10T05:41:00.790 回答
1

静态块被调用一次(在类级别)并且不属于特定实例。

您可以在此处官方 oracle 文档中找到更多信息(带有很好的示例)。

于 2012-11-10T05:43:41.197 回答