这是什么?

public class ABC {
   public ABC() {
         System.out.println("world");
   }
   static {
         System.out.println("hello");
   }
}

将打印:你好世界

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

有帮助吗?

解决方案

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

首先加载课时,它运行;只有一次。

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

其他提示

我认为值得注意的是,每次classloader加载类时,静态块将精确运行一次。这意味着,如果您有一个以上的classloader,则块可以执行不止一次。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top