有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVA静态块执行了多少次?

我怀疑它在Java中是如何工作的静态块。据我所知,每次JVM加载类时,都会执行静态块中的代码。我不明白的是什么时候加载了一个类

例如,假设我在类MyObject中有一个静态块,然后从另一个类中有以下代码:

MyObject o1= new MyObject();
MyObject o2= new MyObject();

在这种情况下,静态块执行了多少次


共 (1) 个答案

  1. # 1 楼答案

    静态块中的代码在JVM首次加载类时执行

    如果再次加载,则不会执行静态块。您可以使用类显式加载该类。forName(“类”)方法来执行静态块

    就你而言

    MyObject o1= new MyObject();
    MyObject o2= new MyObject();
    

    首次创建对象时,将执行静态块。再次创建另一个对象,它将不会执行。它们共享相同的数据副本