Skip to content

Java

形式

java
public class Test {

    static ArrayList<Student> list = new ArrayList<>();
    //静态代码块, 在类加载时, 会执行一次, 也只会执行一次
    //使用场景: 在开始的时候做一个初始化
    static {
        list.add(new Student("001", "wjn", 21, "binjiang"));
    }

    public static void main(String[] args) {

    }

}

作用

  • 数据初始化

注意点

此代码块实现的功能使用其他方式, 也可以实现, 但会留下一些弊端

java
public class Test {

    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        //为数据初始化
        list.add(new Student("001", "wjn", 21, "binjiang"));
        /* 逻辑 */
    }
}

但弊端就是main方法可能被重复调用

java
public class Test2 {
    public static void main(String[] args) {
        //如果调用n次就会初始化n次, 这不是想到的结果, 我只想初始化一次
        Test.main(null);
        Test.main(null);
    }
}

Released under the MIT License.