static{
procudure...
}
特点: 随着类的加载而执行,且只执行一次,并优先于主函数。用于给类初始化。
示例: 静态代码块随着类的加载而加载 有多个静态代码块的,按代码块前后顺序加载 一个代码块,只执行一次
class StaticCode1{
static{
System.out.println("x");
}
}
public class StaticDemo1{
static{ //第一步,先加载主函数所在类,所以先加载并执行这段静态代码块。
System.out.println("y");
}
public static void main(String[] args){
new StaticCode1(); //第三步,加载StaticCode1类
new StaticCode1(); //第四步,类只加载一次,静态代码块只执行一次,这里不再执行
System.ou.println("over"); //第五步,输出打印
}
static{ //第二步,多个静态代码块,按先后顺序执行
System.out.println("z");
}
}
输出:
y
z
x
over