概述
在java中,使用{ }括起来的代码被称为代码块
分类
根据代码块位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块
常见代码块
1、局部代码块
在方法中出现,限定变量生命周期,及早释放,提高内存利用率。
2、构造代码块
在类中方法外出现,每次调用构造都执行,并且在构造方法前执行
3、静态代码块
在类中方法外出现,加了static修饰,用于给类进行初始化,在加载的时候就执行,并且只执行一次。
下面通过举一个代码例子来熟悉上面三种代码块的使用
class Student {
static {
System.out.println("Student 静态代码块");
}
{
System.out.println("Student 构造代码块");
}
public Student() {
System.out.println("Student 构造方法");
}
}
class StudentDemo {
static {
System.out.println("StudentDemo的静态代码块");
}
public static void main(String[] args) {
System.out.println("我是main方法");
Student s1 = new Student();
Student s2 = new Student();
}
}
首先初始化类StudentDemo输出静态代码块"StudentDemo的静态代码块",然后从主方法进入,输出"我是main方法",然后为类Student创建对象s1,给类Student初始化执行静态代码块输出"Student 静态代码块",顺序执行输出构造代码块"Student 构造代码块",最后输出构造方法中的"Student 构造方法",然后创建新对象s2,静态代码块已执行过一次,此次不再执行,只输出"Student 构造代码块",“Student 构造方法”。
运行结果
StudentDemo的静态代码块
我是main方法
Student 静态代码块
Student 构造代码块
Student 构造方法
Student 构造代码块
Student 构造方法