java static学习

原创,在我的博客园里也有这篇文章sogeisetsu的博客园
static,在类里面定义公共的属性,它可以统一修改,并只占一个内存。从而达到方便修改和少占内存的目的
先放上代码,您可以先越过代码,看后面的讲解内容

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内存图
先调用一个

		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	书名:英文	出版社:科大出版社*/

返回

		|-价格:12	书名:数学	出版社:科大出版社
          |-价格:19	书名:国语	出版社:科大出版社
          |-价格:14	书名:英文	出版社:科大出版社

修改出版社a1.pub="青岛出版社";,改变一个的公共属性,全都改变。
返回

		|-价格:12	书名:数学	出版社:青岛出版社
          |-价格:19	书名:国语	出版社:青岛出版社
          |-价格:14	书名:英文	出版社:青岛出版社

可以看到,修改一个对象的公共属性,那所有对象相应的公共属性都会改变
公共属性建议用类名.公共属性来修改。比如这个Boook类用Boook.pub来修改。Boook.pub="济南出版社";修改成济南出版社,来看一下返回值

		|-价格:12	书名:数学	出版社:济南出版社
          |-价格:19	书名:国语	出版社:济南出版社
          |-价格:14	书名:英文	出版社:济南出版社
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值