执行静态块的过程是什么?

时间:2014-09-17 06:18:30

标签: java static

当我执行这个程序时,它只打印验证作为输出。但是一些文档说静态块将在类加载时首先执行。我无法理解。任何人都可以帮助我。

   public class Threading {

        static void test(){
            System.out.println(" Inside static block ");
        }
        public static void main(String[] args) {
            System.out.println("verification ");
        }

    }

输出: - 核实

1 个答案:

答案 0 :(得分:4)

您使用的是静态方法而不是静态块。 将您的代码更改为:

static {
    System.out.println(" Inside static block ");
}

并执行..静态方法应该显式调用以执行它。当一个类初始化时,它不会被执行。

PS:静态块初始化类时执行,而不是在加载时执行。您可以使用Class.forname()来检查。布尔标志initialize(作为方法的参数传递)将指定是加载类还是两者加载和初始化它。