- 什么时候需要使用类变量
- 当我们需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量(静态变量);
- 比如:定义学生类,统计所有学生共交多少钱。
- 类变量与实例变量(普通属性)区别
- 类变量是该类的所有对象共享的,而实例变量是每个对象独享的。
- 加上static称为类变量或静态变量,否则称为实例变量/普通变量/非静态变量
- 类变量可以通过类名.类变量名或者对象名.类变量名来访问,但java设计者推荐
我们使用类名.类变量名方式访问。【前提是满足访问修饰符的访问权限和范围】
- 实例变量不能通过类名.类变量名的方式访问。
- 类变量是在类加载时就初始化了,也就是说,即使你没有创建对象,只要类加载了,就可以使用类变量了。
- 类变量的使用周期是随类的加载开始的,随着类消亡而销毁。 ```java package test;
public class Main { public static void main(String[] args) { B b = new B(); //实例变量不能通过类名.类变量名的方式访问。 //System.out.println(B.n1);//报错!!! System.out.println(B.n2);
//静态变量是类加载的时候,就创建了,所以我们没有创建对象实例
//也可以通过类名.类变量名来访问
System.out.println(C.address);
}
}
class B { public int n1 = 100; public static int n2 = 200; }
class C { public static String address = “北京”; } ```