初始化代码块
初始化代码块:静态代码块、非静态代码块
静态代码块 – 非静态代码块 – 构造方法。
静态代码块:只执行一次。
非静态代码块:每次调用构造方法都执行。
public class Main {
public static void main(String[] args) {
new Test();
System.out.println("---------");
new Test();
System.out.println("---------");
new Test();
}
}
class Test{
int a=11;
static int b=22;
{
a=77;
System.out.println("普通代码块第二个执行!"+a+" "+b);
}
public Test(){
a=44;
System.out.println("构造函数第三个执行!"+a+" "+b);
}
static {
//a=11;错误,不能对非静态a进行静态引用
b=55;
System.out.println("静态代码块第一个执行且只执行一次!");
}
}