初学java时了解到了代码块的应用做了个简单的小总结不够详细仅做参考
代码块的分类
1.普通代码块
普通代码块的位置在方法中,用于限定变量的生命周期
{}就是变量的作用域
{}执行结束变量的生命周期结束变量被销毁空间被释放
public class CodeDemo {
public static void main(String[] args) {
//普通代码块
{
int x = 10;
System.out.println("普通代码块中的变量为:"+x);
}
}
}
运行结果为:普通代码块中的变量为:10
2.构造代码块
构造代码块在一个类中的方法之外是用{}括起来的代码
可以把多个构造方法中的共同代码放到一起,对对象进行初始化
每调用一次构造方法都执行一次构造代码块且在构造方法前执行与构造方法的位置无关
class Code{
//构造代码块
{
int x = 50;
System.out.println("构造代码块中的变量为:"+x);
}
//构造方法
public Code() {
System.out.println("构造方法!!!");
}
//构造代码块
{
int a = 600;
System.out.println("构造代码块中的变量为:"+a);
}
}
3.静态代码块
和构造代码块所处位置相同但{}内代码用static修饰
一般是对类进行初始化
静态代码块先与主方法执行当含多个静态代码块时先定义的先执行后定义的后执行
静态代码块只执行一次
class Code{
//静态代码块
static{
int c = 500;
System.out.println("静态代码块");
System.out.println("静态代码块中的变量为:"+c);
}
}
4.同步代码块
一般在多线程中使用
格式为:
sychronized(对象){
需要同步的代码;
}
同步代码块是解决线程安全的问题的