類變數,

來源:互聯網
上載者:User

類變數,

有一群小孩在玩遊戲,不時有新人加入,共多少人在玩遊戲?

使用物件導向的思想,編寫程式解決:

 1 public class ChildDemo{ 2     public static void main(String[] args){ 3         Child ch1 = new Child(1,"妞妞"); 4         ch1.joinGame(); 5         Child ch2 = new Child(2,"小小"); 6         ch2.joinGame(); 7         Child ch3 = new Child(3,"大大"); 8         ch2.joinGame(); 9         //靜態變數可以通過類名.變數名調用10         System.out.println("共有="+child.total);11     }12 }13 class Child{14     int age;15     String name;16     //total是靜態變數,在沒有修飾符情況下可以被任何一個對象訪問17     static int total = 0;18     public Child(int age,String name){19         this.age =age;20         this.name = name;21     }22     public void joinGame(){23         total++;24         System.out.println("有一個小孩加入");25     }26 }

都能被對象訪問達到資源共用的目的,從而節省了資源,靜態變數也可以叫類變數

類變數:

類變數是該類的所有對象共用的變數,任何一個該類的對象去訪問它時,取到的都是相同的值,同樣任何一個該類的對象去修改它時,修改的也是同一個變數。

定義類變數文法:

存取修飾詞 static 資料類型 變數名;

訪問類變數:

類名.類變數名 或者 對象名.類變數名

 

看下面一段代碼:

public class Demo{    static int i = 1;    static{        //該靜態地區塊只執行一次        i++;//不會因為建立對象執行個體而觸發    }    public Demo(){        i++;    }    public static void main(String[] args){        Demo dm1 = new Demo();        System.out.println(dm1.i);        Demo dm2 = new Demo();        System.out.println(dm2.i);    }}

當類定義時,static定義的資訊,資訊已經寫入了代碼區而自動執行了,即使不建立對象執行個體,static代碼塊裡的變數已經儲存在代碼區裡,當執行個體化一個對象時,跟static代碼塊已經沒有關係了。

public class Demo{    static int i = 1;    static{        System.out.println("執行完畢");        //該靜態地區塊只執行一次        i++;//不會因為建立對象執行個體而觸發    }    public Demo(){        i++;    }    public static void main(String[] args){        // Demo dm1 = new Demo();        // System.out.println(dm1.i);        // Demo dm2 = new Demo();        // System.out.println(dm2.i);    }}

 

類變數與執行個體變數的區別:

加上static稱為類變數或靜態變數,否則稱為執行個體變數

類變數是與類相關的,公用屬性

執行個體變數屬於每個對象個體的屬性

類變數可以通過類名.類變數名直接存取

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.