static修飾的方法和成員,在類(lèi)加載的時(shí)候,一起加載進(jìn)虛擬機。優(yōu)先于對象的創(chuàng )建。static屬性在一個(gè)單獨的內存區,而不是在new出的對象內存中。所以下面的代碼范例,可以直接由類(lèi)名調用,不需要類(lèi)對象名
如果真的不知道做什么 那就做好眼前的事情吧 你所希望的事情都會(huì )慢慢實(shí)現...
有靜態(tài)方法的時(shí)候不一定創(chuàng )建了非靜態(tài)方法,但是有非靜態(tài)方法的時(shí)候一定能創(chuàng )建了靜態(tài)方法
static只是表明了該成員具有了可以通過(guò)類(lèi)名訪(fǎng)問(wèn)的潛在特征,但是是否可以通過(guò)類(lèi)名訪(fǎng)問(wèn),還必須滿(mǎn)足一個(gè)條件:該成員必須是非private的
結論:如果給一個(gè)屬性加上static,那么這個(gè)屬性不再屬于某一個(gè)對象了,而是屬于N個(gè)對象,共用同一個(gè)static屬性。
?
?
1 /* 2 本程序證明了:A類(lèi)的多個(gè)對象共用一個(gè)static屬性i 3 */ 4 class A{ 5 public static i = 10; //加上static修飾符 6 public void show(){ 7 System.out.printf("%d",i); 8 } 9 } 10 11 class M{ 12 public static void main(String[] args){ 13 A a1 = new A(); 14 A a2 = new A(); 15 A a3 = new A(); 16 17 a1.i = 20; 18 a2.show();//此時(shí)輸出20 19 System.out.printf("%d",a3.i);//也輸出20 20 } 21 }
?
?
1 /* 2 本程序證明了:static屬性i是屬于類(lèi)本身的,或者講:沒(méi)有對象,我們仍然 3 可以通過(guò)類(lèi)名的方式訪(fǎng)問(wèn)類(lèi)內部的static屬性。static方法同理 4 */ 5 class A{ 6 //給屬性和方法加上static修飾符 7 public static i = 10; 8 public static void f(){ 9 System.out.printf("20"); 10 } 11 } 12 13 class M{ 14 public static void main(String[] args){ 15 System.out.printf("%d",A.i);//輸出10 16 A.f();//輸出20 17 } 18 }
?
?
顯然,static屬性和方法雖然屬于類(lèi)本身,可以通過(guò)類(lèi)名的方式訪(fǎng)問(wèn),但是也屬于類(lèi)對象,也可以通過(guò)類(lèi)對象名的方式訪(fǎng)問(wèn),
?
1 class A{ 2 public int i = 10; 3 public void show(){ 4 System.out.printf("%d",i); 5 } 6 } 7 8 class M{ 9 public static void main(String[] args){ 10 A a1 = new A(); 11 A a2 = new A(); 12 13 a1.i = 20; 14 a2.show();//此時(shí)輸出10 15 } 16 }
?
非靜態(tài)方法的創(chuàng )建在類(lèi)對象和static成員的創(chuàng )建之后!所以靜態(tài)方法不可以訪(fǎng)問(wèn)非靜態(tài)成員,因為靜態(tài)成員可以直接由類(lèi)名訪(fǎng)問(wèn),非靜態(tài)成員必須要有類(lèi)對象名才能訪(fǎng)問(wèn)。
重點(diǎn):非靜態(tài)方法可以訪(fǎng)問(wèn)靜態(tài)成員(包括屬性和方法)
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站