0
点赞
收藏
分享

微信扫一扫

java基础:static静态代码块


在Java中,静态代码块(static block)是在类加载时执行的,而不是在每次创建对象时执行的。当类被加载时,静态代码块会按照在类中出现的顺序被执行一次。这意味着无论创建多少个对象,静态代码块只会执行一次。

具体执行时机如下:

  1. 当类被首次加载时,静态代码块会被执行。类的加载通常发生在使用该类之前,例如创建对象实例、调用静态方法或访问静态变量时。
  2. 静态代码块在类加载过程中只执行一次,也就是说它在整个应用程序生命周期中只执行一次。无论创建多少个类的实例,静态代码块只会在类加载时执行一次。

静态代码块常用于在类加载时进行一些初始化操作,例如初始化静态变量、加载配置文件、进行日志记录等。通过在静态代码块中执行这些操作,可以确保它们在类加载时被执行,而不依赖于对象的创建。

下面是一个示例,展示了静态代码块的执行时机:

public class PreCache {
    static {
        System.out.println("Static block is executed.");
    }

    public static void main(String[] args) {
        PreCache obj1 = new PreCache();
        PreCache obj2 = new PreCache();
    }
}

输出结果:

Static block is executed.

可以看到,在执行 main 方法时,静态代码块会被执行一次,输出相应的信息。无论创建多少个对象实例,静态代码块只会执行一次。

需要注意的是,静态代码块的执行顺序与其在类中的定义顺序有关。如果一个类中包含多个静态代码块,它们会按照在类中出现的顺序依次执行。

总结来说,静态代码块在类加载时执行,并且在整个应用程序生命周期中只执行一次。它常用于在类加载时进行一些初始化操作,不会在每次创建对象时执行。


举报

相关推荐

静态代码块

0 条评论