1

重複の可能性:
Java の静的初期化子

私は Java で数年の経験がありますが、最近、これまでに見たことのないものに出くわしました。

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

このメソッド シグネチャはどのように機能しますか? これは実際に技術的にも方法ですか?initDataTypeMapping()メソッド呼び出しをコンストラクターに単純に入れないのはなぜだろうと思っています。何かを台無しにしないように、理解を深めようとしています。ありがとう!

4

1 に答える 1

6

これは静的初期化子として知られています。

ブロック内のコードはstatic { }、クラスがクラスローダーによって最初にロードされたときに実行されます (通常は、クラスを参照するコードが最初にロード/実行されるときです)。スレッドセーフで実行されることが保証されています。方法。

この質問も参照してください。

于 2012-07-05T18:02:14.937 に答える