JAVA代码块
局部代码块:
提前结束变量的生命周期。
public class Test {
private String name;
private int age;
public Test(){
System.out.println("开始创建对象");
}
public Test(String name,int age){
System.out.println("开始创建对象");
this.name=name;
this.age=age;
}
}
上面两个构造方法中,都有打印语句,并且相同,这时我们就可以用构造代码块,把重复的代码抽取出来放在构造代码块中。
public class Test {
private String name;
private int age;
{
System.out.println("开始创建对象");
}
public Test(){
}
public Test(String name,int age){
this.name=name;
this.age=age;
}
}
构造代码块:
1.写在成员位置的代码块
2.作用:可以把多个构造方法中重复的代码抽取出来。
3.执行时机:我们在创建本类对象的时候,会先执行构造代码块,再执行构造方法。
静态代码块:
静态代码块是使用 static
关键字修饰的代码块,它独立于类的成员方法和构造方法,在类被加载时执行,并且只执行一次。多用于数据的初始化。其语法格式如下:
public class Test {
private String name;
private int age;
static {
System.out.println("开始创建对象");
}
public Test(){
}
public Test(String name,int age){
this.name=name;
this.age=age;
}
}
特点
1.自动执行:无需手动调用,当类被加载到 JVM(Java 虚拟机)时,静态代码块会自动执行。
2.只执行一次:无论创建多少个该类的对象,静态代码块只在类加载时执行一次。
3.优先执行:静态代码块的执行顺序优先于构造方法和普通代码块。