1.什么是代码块
代码块就是在java直接写在方法或是定义在语句中。 {} 就称为代码块
例如:if(){} 条件语句代码块
for(){}循环语句代码块
2.构造代码块
1.构造代码块是直接写在类中的代码块
piblic class Demo{
//创建构造代码块
{
System.out.println("这是构造代码块");
}
}
静态构造代码块
2.静态构造代码块
静态构造代码块时使用static关键字声明的代码
static 修饰的代码块或者变量是随着类的加载而加载的
public class StaticBlock{
//创建静态构造代码块
static{
System.out.println("这是静态构造代码块");
}
}
构造方法的执行顺序
静态构造方法优先级高于构造方法
public class Test{
public static void main(String[] args){
//创建对象 Test
Test t1 = new Test();
//调用构造方法
t1.Method();
//调用静态构造方法
t1.StaticMethod();
}
//创建构造方法
public void Method(){
System.out.println("我是构造方法");
}
//创建静态构造方法
public static void StaticMethod(){
System.out.println("我是静态构造方法");
}
}
运行结果:
我是静态构造方法
我是构造方法
因此静态构造方法级别高
静态构造代码块优先级高于构造代码块
public class Block{
//构造代码块
{
System.out.println("构造代码块");
}
//静态构造代码块
static{
System.out.println("静态构造代码块");
}
public static void main(String[]args){
//创建构造代码块和静态构造代码块之后,直接将执行代码
}
}
运行结果:静态构造代码块
因此静态构造代码块级别高