Java 代码块

155 阅读1分钟

代码块

局部代码块

  • 提前结束变量的生命周期(已淘汰)

构造代码块

  • 写在成员位置的代码块
  • 作用:可以把多个构造方法中重复的代码块抽取出来
  • 执行时机:我们在创建本类对象的时候会先执行构造代码块再执行构造方法
  • 渐渐地淘汰了,不够灵活
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关键字修饰,随着类的加载而加载,并且自动触发、只执行一次

  • 使用场景:在类加载的时候,做一些数据初始化的时候使用