public class StaticDemo
{
static
{
System.out.println("b"); //jvm先找main函数,然后加载它所在的类,
// 所以当加载StaticDemo时就加载了静态
// 代码块,所以首先会打印出b
}
public static void main(String[] args)
{
new StaticCode(); //在类中静态代码块的优先级高于构造函数,
//所以先打印a,然后才是构造函数中c
new StaticCode(); //在类中静态代码块只加载一次以后就不再加载了,
//所以这里只加载构造函数打印c
System.out.println("over");//最后打印over
}
} |