1.普通代码块:在方法或者语言中出现的{}就是普通代码块。这是我们用的最多最普遍的,它就是在
方法名后面加上用{}括起来的代码块。这种普通代码块是不能单独存在的,它必须要跟在方法名后面。
public class test {
public void test{
system.out.printf("普通代码块");
}
}
2.静态代码块:就在代码块用static修饰,只要类被加载就会被执行的代码块,静态代码块不能存在于
任何方法体内。
public class test {
static {
system.out.printf("静态代码块");
}
}
3.构造代码块:直接在类中定义,并且没有加static关键子的代码块,就是比静态代码块缺少个static修饰。
构造代码块在创建对象时被调用,每次创建对象都会被调用。
public class test{
{
system.out.printf("构造代码块");
}
}
4.优先级:静态代码块 >构造代码块> 构造方法
public class test {
{
system.out.printf("构造代码块");
}
static {
system.out.printf("静态代码块");
}
public test(){
system.out.printf("构造方法");
}
}
执行顺序:
静态代码块,构造代码块,构造方法