代码块
在java中,使用{}括起来的代码被称为 代码块
根据其位置和声明的不同,可以分为:局部代码块,构造代码块,静态代码块,同步代码块(多线程)
局部代码块:局部位置,用于限定变量的生命周期
构造代码块:在类的成员变量位置,用{}括起来的代码,每次调用构造方法执行前,都会先执行构造代码块
作用:可以把多个构造方法中的共同代码放到一起,
静态代码块:在类的成员变量位置,用{}括起来的代码,只不过它用static修饰了
作用:一般对类进行初始化
class Student {
static {
System.out.println("Student 静态代码块 1");
}
{
System.out.println("Student 构造代码块 1");
}
Student() {
System.out.println("Student 构造方法");
}
static {
System.out.println("Student 静态代码块 2");
}
{
System.out.println("Student 构造代码块 2");
}
}
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 静态代码块
我是Main方法
Student 静态代码块 1
Student 静态代码块 2
Student 构造代码块 1
Student 构造代码块 2
Student 构造方法
Student 构造代码块 1
Student 构造代码块 2
Student 构造方法
- 面试题:
- 静态代码块,构造代码块,构造方法 他们三者执行顺序?
- 1静态代码块 -- 2构造代码块 -- 3构造方法
- 静态代码块:只执行一次,加载Class时候执行。
- 构造代码块:每次调用构造方法前都执行
网友评论