语法 - 类的Java静态段

时间:2014-08-08 16:11:43

标签: java static

我一直在调试一些项目,而且在快速的几天里我已经多次遇到过这种代码语法。我以前从未见过这种情况,搜索没有帮助。这段代码做了什么?

public class SomeClass{
    // Class member declarations...

    static{
        // Code / method calls. Basically looks like a method.
        // What is this?
    }

    // method declarations...
}

2 个答案:

答案 0 :(得分:3)

这是一个静态初始化块。

此处提供更多信息:http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html

  

一个类可以有任意数量的静态初始化块,它们可以出现在类体中的任何位置。运行时系统保证按照它们在源代码中出现的顺序调用静态初始化块。

加载类时会调用它们。

答案 1 :(得分:0)

静态阻止的使用

1. 如果静态块中有可执行语句,当类加载到JVM中时,JVM将自动执行这些语句。

2. 如果你从静态块中引用一些静态变量/方法,这些语句将在将类加载到JVM后执行。