<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 55,comments - 89,trackbacks - 0

             在java中聲明類的成員變量和成員方法時,可以使用static關鍵字把成員聲明為靜態成員。靜態變量也叫類變量,非靜態變量叫實例變量,靜態方法也叫類方法,非靜態方法叫實例方法
            類變量屬于整個類,一個類可以創建多個對象,但類的每個靜態變量在內存中只有一份拷貝為該類的所有對象共享。類變量(類方法)不用創建對象就可以直接通過類名訪問。下面舉例說明類變量與實例變量的區別:
    class UseBook{
        String     name;
        float       price;
        int        count=0;   //實例變量,記錄創建對象的個數
        static    int     bookNumber=100;//靜態變量,書的起始編號為100
        UseBook(String n,float p){
            name = n;
            price = p;
            count++;
            bookNumber++;
        }
        void    output(){
            prt("name: " + name + "\t" + "price: " + price + "\t");
            prt("bookNumber: " + bookNumber + "\t" + "count: " + count + "\t") ;
        }
        public static void prt(String s){
            System.out.print(s);
        }
        public static void main(String[] args){
            UseBook    b1,b2,b3;
            b1=new UseBook("java2",36.0f);
            b1.output();
            b2=new UseBook("c++",40.0f);
            b2.output();
            b3=new UseBook("vb",20.0f);
            b3.output();     
        }
    }

    結果如下所示:
        

    name: java2            price: 36.0             bookNumber: 101    count: 1

    name: c++             price: 40.0             bookNumber: 102     count: 1

    name: vb               price: 20.0             bookNumber: 103     count: 1


    程序運行說明:程序中定義count的目的是記錄創建對象的數目,但運行結果卻不是期望的輸出。因為每個對象都擁有一個實例變量count,創建對象時,對count加一的操作是對每個對象的count成員而不是對一個唯一的count操作,所以無法記錄創建對象的個數。而bookNumber是靜態變量,為所有對象共享,所有對象操作的是同一個bookNumber成員變量,每創建一個對象bookNumber值增加1,實現了書的自動編號。

    posted on 2007-10-23 15:46 jiafang83 閱讀(10424) 評論(9)  編輯  收藏

    FeedBack:
    # re: java中的static關鍵字和靜態成員
    2007-10-24 10:48 | 翔南
    count是全局變量就OK啦!
    呵呵
      回復  更多評論
      
    # re: java中的static關鍵字和靜態成員
    2007-10-24 13:57 | freeman1984
    尊敬知識,頂一下。  回復  更多評論
      
    # re: java中的static關鍵字和靜態成員
    2007-10-26 00:24 | 吳紅佳
    前段時間就是因為把幾個變量定義為靜態,結果在每個實例后靜態變量的內容都會改變,每個實例調用的都是上個實例改變后的結果。
    害我幾天都沒找到原因  回復  更多評論
      
    # re: java中的static關鍵字和靜態成員
    2008-02-26 15:33 | qinxiang
    count改為全局變量也不行哈!一定要加上static  回復  更多評論
      
    # re: java中的static關鍵字和靜態成員[未登錄]
    2008-08-18 17:13 | june
    我還是不明白!cout的值的變化不是出現同類的書才會自加的嗎?  回復  更多評論
      
    # re: java中的static關鍵字和靜態成員
    2008-08-18 17:31 | jiafang
    @june
    雖然書的類型不一樣,但都是UseBook的對象,所以count還是會自加的。  回復  更多評論
      
    # re: java中的static關鍵字和靜態成員
    2008-10-01 21:11 | 小悟
    看完 我一下就清晰了 謝謝了 謝的很好  回復  更多評論
      
    # re: java中的static關鍵字和靜態成員[未登錄]
    2009-06-23 11:02 | colin
    感謝分享!  回復  更多評論
      
    # re: java中的static關鍵字和靜態成員
    2009-07-19 09:43 | 感謝人
    太好了,我一直以為JAVA 之能值傳遞,弄得我在許多工作中用了許多拙劣的方法去實現修改。
    原來{類}和{數組}是傳地址,實際上就是引用傳遞
    這點給我帶來許多方便和編成思想上的解放!!
    感謝作者  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久草福利资源网站免费| 国产高清免费视频| 亚洲国产香蕉碰碰人人| 久久久精品2019免费观看| 亚洲最大中文字幕无码网站| 国产大片91精品免费观看男同 | 亚洲国产精品一区二区第四页| 精品一区二区三区高清免费观看| 亚洲AV日韩精品久久久久久| 一二三四视频在线观看中文版免费 | 亚洲AV乱码久久精品蜜桃| 久久精品免费一区二区喷潮| 一个人看的hd免费视频| 亚洲黄色网站视频| 亚洲片国产一区一级在线观看 | 欧美激情综合亚洲一二区| 国产亚洲3p无码一区二区| 免费黄色大片网站| 久久免费观看国产精品88av| 亚洲成av人片在www鸭子| 婷婷久久久亚洲欧洲日产国码AV| 日本免费v片一二三区| 中文字幕无码一区二区免费| 亚洲6080yy久久无码产自国产 | 亚洲人成777在线播放| 国产精品V亚洲精品V日韩精品| 久久午夜免费视频| 久久福利青草精品资源站免费| 亚洲欧美日韩国产成人| 亚洲高清不卡视频| 国产gv天堂亚洲国产gv刚刚碰| 成在人线AV无码免费| 精品无码人妻一区二区免费蜜桃| 色屁屁www影院免费观看视频| 亚洲伊人久久精品| 亚洲国产精品久久久久婷婷老年 | 91亚洲国产在人线播放午夜| 久久久久亚洲精品中文字幕| 国产成人免费高清在线观看| 一二三四在线播放免费观看中文版视频 | www.亚洲精品.com|