执行顺序:静态代码块>构造代码块>局部代码块
1.静态代码块:随着类的加载而加载,只加载一次,一般用于项目的初始化
2.构造代码块:用于创建对象,每次创建对象都会调用构造方法
3.局部代码块:方法里的代码块
package cc;
public class haha {
public static void main(String[] args) {
//必须创建对象,不然静态代码块咋随着类的加载而加载。。
Block m = new Block();//静态1 静态2 构造1 构造2 局部1
System.out.println();
Block m2 = new Block();//构造1 构造2 局部1,说明静态代码只被执行一次就是在类第一次初始化时
}
}
class Block{
{
System.out.println("构造1");
}
static{
System.out.println("静态1");
}
public Block(){
{
System.out.println("局部1");
}
}
{
System.out.println("构造2");
}
static{
System.out.println("静态2");
}
}