static关键字(上)

在这里插入图片描述
按照前面的学习运行下面代码:

package java_animal;
/**
 * 宠物猫类
 * @author Y
 */
public class Cat {
    //成员属性:昵称、年龄、体重、品种
    //修改属性的可见性---private 限定只能在当前类内访问
    private String name;   //String类型变量默认值是null
    private int month;     //int类型变量默认值是0
    private double weight; //double类型变量默认值是0.0 
    private String species;
    public int price;

    public Cat(){
        System.out.println("我是宠物猫");
    }
    //创建get/set方法,get获取,set赋值
    //在get/set方法中添加对属性的限定
    public void setName(String name){  //赋值不需要返回值
        this.name = name;
    }
    public String getName(){   //获取需要返回值
        return this.name;
    }
    public void setMonth(int month){  //赋值不需要返回值
        if(month<0){
            System.out.println("年龄信息错误!");
        }else{
            this.month = month;
        }      
    }
    public int getMonth(){   //获取需要返回值
        return this.month;
    }
    public void setWeight(double weight){  //赋值不需要返回值
        this.weight = weight;
    }
    public double getWeight(){   //获取需要返回值
        return this.weight;
    }
    public void setSpecies(String species){  //赋值不需要返回值
        this.species = species;
    }
    public String getSpecies(){   //获取需要返回值
        return this.species;
    }
package java_test; //定义包

import java_animal.Cat; 

public class Test {
    public static void main(String[] args) {
        Cat one = new Cat();
        one.setName("花花");
        one.setMonth(2);
        one.setWeight(1000);
        one.setSpecies("英国短毛猫");
        one.price = 2000;

        Cat two = new Cat();
        two.setName("凡凡");
        two.setMonth(1);
        two.setWeight(800);
        two.setSpecies("中华田园猫");
        two.price = 200;
        
        System.out.println(one.getName()+"的价格为:"+one.price);
        System.out.println(two.getName()+"的价格为:"+two.price);
    }
}

输出:

我是宠物猫
我是宠物猫
花花的价格为:2000
凡凡的价格为:200

在属性price处添加static,public static int price;,再次运行上述代码,结果为:可看到定义的宠物猫花花和凡凡的价格都为200。

我是宠物猫
我是宠物猫
花花的价格为:200
凡凡的价格为:200

那是因为:由static修饰的成员为静态成员、类成员。无论创建的类实例化出来多少对象,都会共用同一块静态空间。

static修饰的特征:

  1. 类对象共享;
  2. 类加载时产生,销毁时释放,生命周期长。

静态成员访问方式:1.对象.成员 2.类.成员,如Cat.price = 3000;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值