java的static關(guān)鍵字是非常有用的.有兩種情況是non-static無(wú)法做到的,這時(shí)你就要使用statice。第一種:你希望不論產(chǎn)生了多少個(gè)對(duì)象,或不存在任何對(duì)象的情形下,那些特定數(shù)據(jù)的存儲(chǔ)空間都只有一份;第二種:你希望某個(gè)函數(shù)不要和class object綁在一起。即使沒(méi)有產(chǎn)生任何object,外界還是可以調(diào)用其static函數(shù),或是取用其static data。如何理解呢,看完下面的小例子,就會(huì)理解了。
輸出結(jié)果為:47305050為什么會(huì)有這樣的結(jié)果呢?這是因?yàn)樗鼈兌贾赶蛲粔K內(nèi)存。另外,調(diào)用static函數(shù)或變量,除了利用對(duì)象定址外(t1.i = 50),也可以直接使用其class名,即(StaticTest.i = 50)。