结论
1,创建对象实例的时候(new)
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