靜態(tài)技術(shù)包括靜態(tài)數(shù)據(jù)、靜態(tài)方法、靜態(tài)初始化程序塊等。
靜態(tài)數(shù)據(jù)是屬于某個(gè)類的數(shù)據(jù)成員,而非屬于某個(gè)具體的對(duì)象。也就是說這個(gè)類創(chuàng)造出來的對(duì)象,都共用同一個(gè)數(shù)據(jù)。
view plainprint?
class A { static int x;……
}
靜態(tài)方法也是屬于整個(gè)類的,而且靜態(tài)方法中不能調(diào)用非靜態(tài)數(shù)據(jù)或方法。
view plainprint?
class B { public static void Set(int x) {……
}
用靜態(tài)數(shù)據(jù)和靜態(tài)方法的特性,我們可以專門構(gòu)造工具類或者驗(yàn)證類。
靜態(tài)初始化程序塊,會(huì)在類的任何一個(gè)靜態(tài)方法被調(diào)用或者任何一個(gè)構(gòu)造函數(shù)被執(zhí)行時(shí)被執(zhí)行。
view plainprint?
class C {……
static { Integer in[4] = new Integer();for (int i = 0; i < in.length; ++i) {……
}