static:是一個修飾符,用于修飾成員(成員變量,成員函數(shù))當(dāng)成員被靜態(tài)修飾后,就多了一個調(diào)用方法,除了可以被對象調(diào)用外還可以直接被類名調(diào)用:類名.靜態(tài)成員。
static特點:
1.隨著類的加載而加載(靜態(tài)會隨著類的消失而消失,說明它的生命周期最長)
2.優(yōu)先于對象存在
3.被所有對象所共享
4.可以直接被類名所調(diào)用
實例變量和類變量的區(qū)別:
1.存放位置
????????類變量隨著類的加載而存在于方法區(qū)中。
????????實例變量隨著對象的建立而存在于堆內(nèi)存中。
2.生命周期
????????類變量生命周期最長,隨著類的消失而消失。
????????實例變量生命周期隨著對象的消失而消失。
靜態(tài)使用的注意事項:
1.靜態(tài)方法只能訪問靜態(tài)成員。
????????非靜態(tài)方法既可以訪問靜態(tài)也可以訪問非靜態(tài)。
2.靜態(tài)方法中不可以定義this,super關(guān)鍵字。
?????????因為靜態(tài)優(yōu)先于對象存在,所以靜態(tài)方法中不可以出現(xiàn)this。
3.主函數(shù)是靜態(tài)的。
靜態(tài)利與弊:
利:對對象的共享數(shù)據(jù)進(jìn)行單獨空間的存儲,節(jié)省空間,
????????沒有必要每個對象中都存儲一份。
弊:生命周期過長。 訪問出現(xiàn)局限性。(靜態(tài)雖好,只能訪問靜態(tài))