- static關(guān)鍵字
在創(chuàng)建類時(shí),普通的變量和方法,除非new創(chuàng)建對(duì)象時(shí),不分配數(shù)據(jù)存儲(chǔ)空,方法無法被調(diào)用,它們與對(duì)象相關(guān)聯(lián)。
而static修飾的屬性和方法,與對(duì)象不關(guān)聯(lián)在一起:為特定域分配單一的存儲(chǔ)空間+沒有創(chuàng)建對(duì)象,也可以使用方法。
調(diào)用靜態(tài)變量和方法的最佳方法就是直接使用類名。
靜態(tài)變量是類的屬性,同一類的所有變量共有一個(gè)靜態(tài)變量。注意構(gòu)造函數(shù)中
Human.total++;用來計(jì)數(shù),一共產(chǎn)生了多少個(gè)人。
靜態(tài)方法是類的方法,自然方法內(nèi)部不可以調(diào)用對(duì)象。(思考:static方法常被稱作“牧羊人”)
class Human {
static int total;
static{
total = 2; //Adam and Eve
}
int age;
boolean gender;
Human(){ //default constructor
Human.total++;
age = 0;
gender = false;
}
...
}
- 靜態(tài)數(shù)據(jù)的初始化
書P95