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 に答える