static关键字(微风轻轻吹起,我慢慢地更新)

不是话痨博主,但欢迎多多互动呀❤

☀static关键字的由来和概念

  • 通常情况下,属性/方法都是隶属于对象层级,就是每个对象都有自己独有的属性空间,有些属性需要属于整个类,就是所有对象要共享。
  • static就是把对象级提升到类级。static的属性、代码块、方法都是隶属于类,在类加载时就准备完成了,而不需要创建对象(new)。
  • 类加载只做一次,包括:
  1. 类名.的时候会类加载。
  2. new对象时会类加载。
  3. 程序员可以用程序加载,比如:Class.forName()。
  • 静态的成员(属性和方法)可以用对象.调用,但一般推荐用类名.调用

☀图片示例

图片来源:b站up主 :java小伙-银子

我们可以从图片看到,两个人都来自同一个国家,这是我们就可以考虑用static修饰country。

用完之后就变成如上图所示了。 

☀用static与不用static的优缺点(以上面的国家为例)

不用static:

  • 优点:方便修改个人国籍(后面会有代码例子)。
  • 缺点:浪费内存。

用static:

  • 优点:节省内存。
  • 缺点:不利于修改个人国籍。

☀代码示例

public class people {
    String name;
    int age;
    static String country="蜀国";

    public static void main(String[] args) {
        people p1=new people();
        p1.name="张三";
        p1.age=13;
        p1.country="中国";
        System.out.println("p1.name:"+p1.name+"p1.age:"+p1.age+"p1.country:"+p1.country);

        people p2=new people();
        p2.name="李四";
        p2.age=15;
        p2.country="王国";
        System.out.println("p2.name:"+p2.name+"p2.age:"+p2.age+"p2.country:"+p2.country);

        System.out.println("p1.name:"+p1.name+"p1.age:"+p1.age+"p1.country:"+p1.country);
        System.out.println("p2.name:"+p2.name+"p2.age:"+p2.age+"p2.country:"+p2.country);
    }
}

☀运行结果

 

 从上面结果我们可以看出,改变country的值会覆盖掉之前的值(3、4行运行结果所示)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值