代码块
局部代码块
- 提前结束变量的生命周期(已淘汰)
构造代码块
- 写在成员位置的代码块
- 作用:可以把多个构造方法中重复的代码块抽取出来
- 执行时机:我们在创建本类对象的时候会先执行构造代码块再执行构造方法
- 渐渐地淘汰了,不够灵活
public class Student {
private String name;
private int age;
//构造代码块
{
sout("开始创建对象了")
}
public Student() {
}
public Student(String name, int age) {
this.age = age;
this.name = name;
}
}
- 现在的方式:
public class Student {
private String name;
private int age;
public Student() {
this(null, 0);
}
public Student(String name, int age) {
sout("开始创建对象了")
this.age = age;
this.name = name;
}
}
public class Student {
private String name;
private int age;
public Student() {
调用方法();
}
public Student(String name, int age) {
调用方法();
this.age = age;
this.name = name;
}
}
静态代码块
-
格式:
static{} -
特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次
-
使用场景:在类加载的时候,做一些数据初始化的时候使用