0

static次のブロックがよくわかりません。メソッドと変数で使用する場合のstaticキーワードは理解できますが、次のコードのstaticキーワードの目的が正確にはわかりません。

static
    {
        sURIMatcher.addURI("contacts", "people", PEOPLE);
        sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID);
        sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES);
        sURIMatcher.addURI("contacts", "people/#/phones/#", PEOPLE_PHONES_ID);
        sURIMatcher.addURI("contacts", "people/#/contact_methods", PEOPLE_CONTACTMETHODS);
        sURIMatcher.addURI("contacts", "people/#/contact_methods/#", PEOPLE_CONTACTMETHODS_ID);
        sURIMatcher.addURI("contacts", "deleted_people", DELETED_PEOPLE);
        sURIMatcher.addURI("contacts", "phones", PHONES);
        sURIMatcher.addURI("contacts", "phones/filter/*", PHONES_FILTER);
        sURIMatcher.addURI("contacts", "phones/#", PHONES_ID);
        sURIMatcher.addURI("contacts", "contact_methods", CONTACTMETHODS);
        sURIMatcher.addURI("contacts", "contact_methods/#", CONTACTMETHODS_ID);
        sURIMatcher.addURI("call_log", "calls", CALLS);
        sURIMatcher.addURI("call_log", "calls/filter/*", CALLS_FILTER);
        sURIMatcher.addURI("call_log", "calls/#", CALLS_ID);
    }
4

2 に答える 2

7

これは、Javaでは静的初期化ブロックと呼ばれます。これは、クラスのロード時に実行されます。このオラクルチュートリアルを赤くしてください。

静的初期化子を使用して、クラスのクラス変数を初期化できます。

于 2013-01-09T15:59:12.467 に答える
5

Java言語仕様から:

クラスで宣言された静的初期化子は、クラスが初期化されるときに実行されます(§12.4.2)。クラス変数のフィールド初期化子(§8.3.2)とともに、静的初期化子を使用して、クラスのクラス変数を初期化できます。

StaticInitializer:
     static Block
于 2013-01-09T16:00:13.147 に答える