0

可能重复:
Java 中的静态初始化程序

我想知道这个静态的东西(对不起,这是我第一次遇到这个)对一个类有什么作用,或者它的目的是什么。

    public class SomeClass{

           //this is a static field
           private static String someStaticStringField;
           ... //other static fields

           //what is this?
           static{
                 log.debug("Loading config file");
                 try{
                        Class cls = Class.forName("package.ClassName");  
                        properties = new Properties();

                        ...

                 } catch(Exception e){
                        log.error("Error in loading config file");
                 } 


           }

           //this is a static method
           public static String getSomeStaticStringField(){
                  return someStaticStringField;
           }


    }

一般来说,这个 static{} 做什么以及它对 Class 的用途是什么?什么是正确的称呼?它是类字段、方法还是其他?谢谢

4

1 回答 1

4

这称为静态初始化器;它在第一次引用类时运行(就像静态变量的任何初始化一样,除了这允许更好的初始化,因为你有一个完整的块)。它不是一种方法,也不是一个领域

于 2012-08-24T08:01:08.050 回答