微风轻轻吹起,我慢慢地更新)"/>
static关键字(微风轻轻吹起,我慢慢地更新)
不是话痨博主,但欢迎多多互动呀❤
☀static关键字的由来和概念
- 通常情况下,属性/方法都是隶属于对象层级,就是每个对象都有自己独有的属性空间,有些属性需要属于整个类,就是所有对象要共享。
- static就是把对象级提升到类级。static的属性、代码块、方法都是隶属于类,在类加载时就准备完成了,而不需要创建对象(new)。
- 类加载只做一次,包括:
- 类名.的时候会类加载。
- new对象时会类加载。
- 程序员可以用程序加载,比如: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行运行结果所示)。
更多推荐
static关键字(微风轻轻吹起,我慢慢地更新)
发布评论