1、创建对象实例时 2、创建子类对象实例时,父类会被加载;先执行父类,再执行子类 3、使用类的静态成员时
public class Class {
public static void main(String[] args){
//以下3种情况 类会被加载
//1、创建对象实例时;
new AA();
//2、创建子类对象实例时,父类会被加载;先执行父类,再执行子类
new BB();
//3、使用类的静态成员时
System.out.println(CC.n);
}
}
class AA{
static{
System.out.println("AA静态代码块执行");
}
}
class BB extends AA{
static {
System.out.println("BB代码块被执行");
}
}
class CC extends AA{
public static int n = 90;
static {
System.out.println("CC代码块被执行");
}
}