static靜態(tài)關(guān)鍵字修飾:屬性,方法,內(nèi)部類,代碼塊
static修飾的資源屬于類級(jí)別,由全體對(duì)象共享資源。
1)屬性
使用static修飾的屬性,屬于類的全體類的實(shí)例共享的變量,靜態(tài)屬性在類的加載初期初始化,使用類名.屬性訪問 如:System.out
2)實(shí)例變量
屬于對(duì)象的屬性,使用對(duì)象.屬性訪問 如:Person.name
舉例詳解:
public class StaticFieldDemo{
public static void main(String [] args){
XMM mm1=new XMM();
XMM mm2=new XMM();
XMM mm3=new XMM();
System.out.PRintln(mm1.id+""+mm2.id+""+mm3.id+""+XMM.i);
}}
class XMM{
int id; //實(shí)例變量
static i=0;//靜態(tài)類級(jí)別變量
public XMM(){ //構(gòu)造函數(shù)
id=i++;
}}
結(jié)果:0123
注:int id實(shí)例變量,相當(dāng)于“”每個(gè)人的水杯“
static int i=0 靜態(tài)類級(jí)別變量,相當(dāng)于“公用的水桶”
執(zhí)行步驟:1.加載類,static變量在類家在期間初始化
2.在內(nèi)存中分配對(duì)象空間,屬性默認(rèn)自動(dòng)初始化 ,為“0”值
3.進(jìn)行屬性的賦值
4.遞歸調(diào)用父類構(gòu)造器,默認(rèn)調(diào)用無參構(gòu)造器
5.調(diào)用本類構(gòu)造器
3)靜態(tài)方法
使用static聲明的方法,屬于類的方法,在類加載后就可以自己調(diào)用,不需要?jiǎng)?chuàng)建類的實(shí)例對(duì)象
靜態(tài)方法不能訪問屬于對(duì)象的資源(對(duì)象屬性,對(duì)象方法)
4)靜態(tài)代碼塊
靜態(tài)代碼塊是在類加載期間運(yùn)行的代碼塊,由于類只加載一次,所以靜態(tài)代碼塊只執(zhí)行一次,一般用在類加載以后初始化一些靜態(tài)資源 如:加載配置文件
static{ }
舉例:class XMMM { // 代碼塊 { System.out.println("代碼塊,創(chuàng)建對(duì)象執(zhí)行,創(chuàng)建對(duì)象了"); } // 靜態(tài)代碼塊 static { System.out.println("靜態(tài)代碼塊,類加載期間執(zhí)行初始化,類加載了"); } public XMMM() { // 構(gòu)造函數(shù) System.out.println("構(gòu)造好了"); }}
結(jié)果:靜態(tài)代碼塊,類加載期間執(zhí)行初始化,類加載了 代碼塊,創(chuàng)建對(duì)象執(zhí)行,創(chuàng)建對(duì)象了 構(gòu)造好了
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注