静态变量的常见应用

1.存储对象个数

   案例:某游戏是多人探险的游戏,在游戏的过程中有人会阵亡,当存活的人数不足3人时,屏幕上要进行报警提示。

   代码如下:

public class Person {
    String name;
    static int number=0;
    Person(String name){
        this.name=name;
        System.out.println("创建了"+name);
        number++;
    }

    void die(){
        System.out.println(name+"阵亡");
        number--;
        if(number<3){
            System.out.println("警告!不足3人!");
        }
    }
}
public class Entrance {
    public static void main(String[] args) {
        Person p1=new Person("张三");
        Person p2=new Person("李四");
        Person p3=new Person("王五");
        Person p4=new Person("牛六");
        p3.die();
        p4.die();

    }
}

结果如下:

D:\Java\bin\java.exe "-javaagent:D:\Jetrains\IntelliJ IDEA 2021.2.1\lib\idea_rt.jar=56776:D:\Jetrains\IntelliJ IDEA 2021.2.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\BabyLu\Desktop\学习\java\untitled1\out\production\untitled1 Entrance
创建了张三
创建了李四
创建了王五
创建了牛六
王五阵亡
牛六阵亡
警告!不足3人!

进程已结束,退出代码为 0

2.保存跨对象信息

   案例:登陆界面,输入账号和密码登陆成功后可到达聊天界面,那么聊天界面如何知道登陆界面输入的账号呢?

   解决思路:

   a.定义一个类conf,用静态变量保存登录账号;

   b.在登陆界面,如果登录成功,就将账号存入conf.loginAccount;

   c.在聊天界面,访问conf.loginAccount,即可得到登录的账号

- 说明:

- 不由static修饰的属性,类可以创建对象,每个对象都有一份自己的属性

- 由static修饰的属性与方法,属于类,且只有一份,直接由类名调用

- 静态成员变量值一旦发生改变,则所有方式访问到的值都发生改变

- 从底层讲,静态变量在类被载入时创建,只要类存在,静态变量就存在;普通变量只有在实例化对象时才能被创建 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值