日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

static 關(guān)鍵字

 后飛的鳥 2010-11-12

Java 中的static屬性 主要用于保持?jǐn)?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();
  }
}

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

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

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

 

至于說什么時(shí)候可以用和不可以用的話

那么就是static變量只能做為全局變量,假設(shè)你把static聲明在方法里那么一定會(huì)出錯(cuò)的。因?yàn)榫植孔兞柯暶鳛閟tatic是完全沒有意義的。
 

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

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

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多