java static學習

原創,轉載請註明來源sogeisetsu的博客園
static,在類裏面定義公共的屬性,它能夠統一修改,並只佔一個內存。從而達到方便修改和少佔內存的目的
先放上代碼,您能夠先越過代碼,看後面的講解內容java

class Boook {//隨意定義一個類
    private int value;
    private String name;
    static String pub = "科大出版社";//static,在類裏面定義公共的屬性,它能夠統一修改,並只佔一個內存。從而達到方便修改和少佔內存的目的
    public Boook(int value, String name) {
        this.name = name;
        this.value = value;
    }
    public String getInfo(){
        return "|-"+"價格:"+this.value+"\t書名:"+this.name+"\t出版社:"+this.pub;
    }
}

public class StaticStudy {
    public static void main(String[] args) {
        System.out.println("static學習");
        //調用Boook
        Boook a1 = new Boook(12, "數學");
        Boook a2 = new Boook(19, "國語");
        Boook a3 = new Boook(14, "英文");
        System.out.println(a1.getInfo());
        System.out.println(a2.getInfo());
        System.out.println(a3.getInfo());
        /*
        * |-價格:12   書名:數學   出版社:科大出版社
          |-價格:19   書名:國語   出版社:科大出版社
          |-價格:14   書名:英文   出版社:科大出版社*/
        //改變一個的公共屬性,全都改變。
        a1.pub="青島出版社";
        System.out.println(a1.getInfo());
        System.out.println(a2.getInfo());
        System.out.println(a3.getInfo());
        /*
        * |-價格:12   書名:數學   出版社:青島出版社
          |-價格:19   書名:國語   出版社:青島出版社
          |-價格:14   書名:英文   出版社:青島出版社
        * */
        //建議用Boook.pub來修改
        Boook.pub="濟南出版社";
        System.out.println(a1.getInfo());
        System.out.println(a2.getInfo());
        System.out.println(a3.getInfo());
        /*
        * |-價格:12   書名:數學   出版社:濟南出版社
          |-價格:19   書名:國語   出版社:濟南出版社
          |-價格:14   書名:英文   出版社:濟南出版社
        * */
    }
}

先隨意定義一個類,名稱爲Boook,功能爲寫書的價格,書名和出版社。學習

class Boook {//隨意定義一個類
    private int value;
    private String name;
    static String pub = "科大出版社";//static,在類裏面定義公共的屬性,它能夠統一修改,並只佔一個內存。從而達到方便修改和少佔內存的目的
    public Boook(int value, String name) {
        this.name = name;
        this.value = value;
    }
    public String getInfo(){
        return "|-"+"價格:"+this.value+"\t書名:"+this.name+"\t出版社:"+this.pub;
    }
}

書名和價格都是普通的屬性,出版社是static屬性,由於這些書都是一個出版社的,用static屬性只佔一個內存,能夠節省內存。而且也易於修改。
附上ststic內存圖
ststic內存圖
先調用一個this

Boook a1 = new Boook(12, "數學");
        Boook a2 = new Boook(19, "國語");
        Boook a3 = new Boook(14, "英文");
        System.out.println(a1.getInfo());
        System.out.println(a2.getInfo());
        System.out.println(a3.getInfo());
        /*
        * |-價格:12   書名:數學   出版社:科大出版社
          |-價格:19   書名:國語   出版社:科大出版社
          |-價格:14   書名:英文   出版社:科大出版社*/

返回code

|-價格:12 書名:數學   出版社:科大出版社
          |-價格:19   書名:國語   出版社:科大出版社
          |-價格:14   書名:英文   出版社:科大出版社

修改出版社a1.pub="青島出版社";,改變一個的公共屬性,全都改變。
返回對象

|-價格:12 書名:數學   出版社:青島出版社
          |-價格:19   書名:國語   出版社:青島出版社
          |-價格:14   書名:英文   出版社:青島出版社

能夠看到,修改一個對象的公共屬性,那全部對象相應的公共屬性都會改變
公共屬性建議用類名.公共屬性來修改。好比這個Boook類用Boook.pub來修改。Boook.pub="濟南出版社";修改爲濟南出版社,來看一下返回值blog

|-價格:12 書名:數學   出版社:濟南出版社
          |-價格:19   書名:國語   出版社:濟南出版社
          |-價格:14   書名:英文   出版社:濟南出版社
相關文章
相關標籤/搜索