これはなんですか? Javaの名前静的メソッド
public class ABC {
public ABC() {
System.out.println("world");
}
static {
System.out.println("hello");
}
}
が印刷されます: 私は本当にこれを理解していないハロー 世界
、または静的なコードがあるメソッドの種類。
これはなんですか? Javaの名前静的メソッド
public class ABC {
public ABC() {
System.out.println("world");
}
static {
System.out.println("hello");
}
}
が印刷されます: 私は本当にこれを理解していないハロー 世界
、または静的なコードがあるメソッドの種類。
「静的初期化ブロック」と呼ばれます。
クラスが最初にロードされたときに実行されます。 1回だけ。
たとえば、クラスがインスタンス化されるたびにコンストラクタが実行されます。静的ブロックはVM/Classローダーによって最初に静的にロードされるときに1回だけ実行されます。
静的ブロックは、クラスローダーがクラスをロードするたびに1回だけ実行されることに注意してください。つまり、複数のクラスローダーがある場合、ブロックは複数回実行できます。
静的初期化子のJLS記述については[こちら](http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.7)を参照してください。[this](重要である可能性がある初期化の順序のJLS記述については、http://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12.4.2)を参照してください。 – selig