📜  什么是静态块 (1)

📅  最后修改于: 2023-12-03 15:36:11.868000             🧑  作者: Mango

什么是静态块?

静态块是 Java 中的一种特殊的代码块,用于在类的静态成员变量初始化之前执行,通常在静态块中可以对静态成员变量进行初始化。

静态块的语法
static {
    // 静态块中的代码
}

静态块使用 static 关键字来修饰,且不需要显式地调用,它会在类的初始化过程中自动执行。

静态块的作用
  1. 初始化静态变量

静态块可以用于初始化静态变量,如下所示:

public class MyClass {
    static int x;
    static {
        x = 10;
    }
}

在上面的代码中,静态块会在 MyClass 类的成员变量 x 初始化前执行,并将 x 的值初始化为 10

  1. 执行一些特殊操作

静态块还可以用于执行一些特殊操作,如加载驱动程序、设置系统属性等。

静态块的执行时机

静态块是在类被加载时执行的。类的加载有三种情况:

  1. 当创建类的实例时。
  2. 当访问类的静态成员时。
  3. 使用 Class.forName() 方法动态地加载类。

静态块是在类第一次被加载时执行的,因此类的静态成员变量也是在此时被初始化。

总结

静态块是 Java 中的一种特殊的代码块,用于在类的静态成员变量初始化之前执行。它可以用于初始化静态变量,执行一些特殊操作等。静态块是在类被加载时执行的,类的静态成员变量也是在此时被初始化。