小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

static 關(guān)鍵字

 后飛的鳥 2010-11-12

Java 中的static屬性 主要用于保持數(shù)據(jù)唯一性。

你可以用Random測試一下

import java.util.Random;
class Test1{
   Random ran = new Random();
   static Random ran2 = new Random();
   static int i = ran2.nextInt(100);
   static int a =ran2.nextInt(100);
   int b = ran.nextInt(100);
   int c = ran.nextInt(100);
   public Test1(){
            System.out.println("靜態(tài)屬性i = " + i + ";a = " +a );
            System.out.println("非靜態(tài)屬性 b = " + b +";c = " +c );
   }
   public static void method(){
    i=90;
   }
}
 class Test{
  public static void main(String[] args){
    new Test1();
    new Test1();
  }
}

從上面的運行結(jié)果我們可以看到靜態(tài)屬性的值在內(nèi)存中是唯一一份的(即只初始化一次)。

當你感覺你需要數(shù)據(jù)唯一性,或者有時候你不想創(chuàng)建整個類的對象,經(jīng)常用到其中一個對象而已的話,那么干脆就把這個變量或?qū)ο蠖x為static。 可以直接用類名引用!

靜態(tài)屬性不屬于類實例的一部分,你可以在上面Test1的構(gòu)造函數(shù)中見證這一點。 即使我們實例了Test1兩次,但i 和 a 依然不變。

 

至于說什么時候可以用和不可以用的話

那么就是static變量只能做為全局變量,假設(shè)你把static聲明在方法里那么一定會出錯的。因為局部變量聲明為static是完全沒有意義的。
 

修飾成員使數(shù)據(jù)一直存于內(nèi)存,已方便調(diào)用,適合常量定義

修飾方法,無需初始化該方法所在類的對象,直接可以通過類名.方法名的方式來調(diào)用,方便快捷。
 
static 修飾的變量 就是在程序啟動的時候在內(nèi)存一直存在,直到程序關(guān)閉。
 
static 是靜態(tài),
他告訴虛擬機,說,我用這個修飾的,你給我放在靜態(tài)池里面(內(nèi)存),并且,先給我執(zhí)行。

static 修飾的,會先于非靜態(tài)修飾的,
比如
1. private String abc = "123";
2. private static String abc = "123"
1的執(zhí)行條件是,當虛擬機,實例化了某個類,這個abc才賦值。
2.的執(zhí)行條件是,當虛擬機,一執(zhí)行,就把abc賦值了。這就是為什么,靜態(tài)方法,不需要實例化類,就能使用的原因,

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多