Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java无名称静态方法_Java_Static Methods - Fatal编程技术网

Java无名称静态方法

Java无名称静态方法,java,static-methods,Java,Static Methods,这是什么 public class ABC { public ABC() { System.out.println("world"); } static { System.out.println("hello"); } } 将打印: 你好 世界 我真的不明白这一点,或者静态代码是什么样的方法。它被称为“静态初始化块” 它在类首次加载时运行;只有一次 例如,每次实例化类时,构造函数都会运行;静态块仅在VM/类加载器首次静态加载时运行一次

这是什么

public class ABC {
   public ABC() {
         System.out.println("world");
   }
   static {
         System.out.println("hello");
   }
}
将打印: 你好 世界

我真的不明白这一点,或者静态代码是什么样的方法。

它被称为“静态初始化块”

它在类首次加载时运行;只有一次


例如,每次实例化类时,构造函数都会运行;静态块仅在VM/类加载器首次静态加载时运行一次。

我认为值得注意的是,每次类加载器加载一个类时,静态块将只运行一次。这意味着如果您有多个类加载器,则该块可以执行多次。

有关静态初始化器的JLS说明和初始化顺序的JLS说明,请参阅,这可能很重要。