被static修飾的成員變量和成員方法獨(dú)立于該類的任何對(duì)象。也就是說(shuō),它不依賴類特定的實(shí)例,被類的所有實(shí)例共享。只要這個(gè)類被加載,Java虛擬機(jī)就能根據(jù)類名在運(yùn)行時(shí)數(shù)據(jù)區(qū)的方法區(qū)內(nèi)定找到他們。因此,static對(duì)象可以在它的任何對(duì)象創(chuàng)建之前訪問(wèn),無(wú)需引用任何對(duì)象. 用static修飾的代碼塊表示靜態(tài)代碼塊,當(dāng)Java虛擬機(jī)(JVM)加載類時(shí),就會(huì)執(zhí)行該代碼塊(用處非常大,呵呵)。 static{ Test5.a=3; System.out.println(a); Test5 t=new Test5(); t.f(); t.b=1000; System.out.println(t.b); } 靜態(tài)方法可以直接通過(guò)類名調(diào)用,任何的實(shí)例也都可以調(diào)用,因此靜態(tài)方法中不能用this和super關(guān)鍵字,不能直接訪問(wèn)所屬類的實(shí)例變量和實(shí)例方法(就是不帶static的成員變量和成員成員方法),只能訪問(wèn)所屬類的靜態(tài)成員變量和成員方法。因?yàn)閷?shí)例成員與特定的對(duì)象關(guān)聯(lián)! 希望對(duì)樓主有幫助。你那樣寫(xiě)性能沒(méi)啥影響,就是static修飾的方法有些局限性而已。 |
|