2013-01-09 57 views
0

我不太瞭解以下static塊。我在使用方法和變量時瞭解static關鍵字,但我不確切知道下面的代碼中靜態關鍵字的用途。android中的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); 
    } 

回答

7

這被稱爲Java靜態初始化塊。這將在類加載時執行。紅色這個oracle tutorial

靜態初始化器可用於初始化類的類變量。

+0

非常感謝,非常有幫助。 – fkaufusi

+0

@fkaufusi:不客氣。祝你好運。 – kosa

5

Java Language Specification

在類聲明的靜態初始化當類是 執行初始化(§12.4.2)。與類 變量(第8.3.2節)的任何字段初始值設定項一起,可以使用靜態初始值設定項來初始化類的類變量 。

StaticInitializer: 
    static Block