結論は
1.オブジェクトインスタンス作成時(新規)
2. サブクラス オブジェクトのインスタンスを作成すると、親クラスも読み込まれます
3. クラスの静的メンバー(静的プロパティ、静的メソッド)を使用する場合
コードに直接
public class CodeBlockDetail01 {
public static void main(String[] args) {
BB bb = new BB();
System.out.println(Cat.n1);
}
}
class Cat{
public static int n1 = 888;
static {
System.out.println("Cat的静态代码块被被调用");
}
}
class AA{
{
System.out.println("AA类被加载");
}
}
class BB extends AA{
{
System.out.println("BB类被加载");
}
}
操作の結果は次のとおりです。
AA クラスがロードされます
BB クラスがロードされます
Cat の静的コード ブロックは
888と呼ばれます