【问题标题】:How does a method signature of only "static" work? [duplicate]仅“静态”的方法签名如何工作? [复制]
【发布时间】:2012-07-06 04:30:51
【问题描述】:

可能重复:
Static initializer in Java

我有几年的 Java 经验,但我最近遇到了一些我以前从未见过的东西:

public class Project{
...
static{
  initDataTypeMapping();
}
...
}

这个方法签名是如何工作的?这实际上甚至在技术上是一种方法吗?我想知道为什么不简单地将对initDataTypeMapping() 的方法调用放在构造函数中。只是想增加我的理解,所以我不会把事情搞砸。谢谢!

【问题讨论】:

    标签: java static


    【解决方案1】:

    这被称为static initializer

    static { } 块中的代码在类加载器首次加载类时运行(通常但不总是,当引用该类的代码首次加载/执行时),并保证以线程安全的方式运行。

    另见this question

    【讨论】:

    • 代码只运行一次,对吧?第一次引用代码?
    最近更新 更多