类变量
引出关键字:static
又名:静态变量,静态字段,类字段(字段又名属性,成员方法),类属性
是什么?
供该(同一个类)的所有对象共享的变量
-
(1)任何一个该类的对象去访问它时,取到的都是相同的值
-
-
(3)随着类的加载而创建
类变量的创建机制(内存布局)
类变量的使用
一、类变量的定义
两种定义方法
-
1.(推荐!!)访问修饰符 static 变量类型 变量名
public static int age;
static public int age;
二、类变量的访问
注意点!!
-
1. 由于类变量供同一个类的所有对象共享,因此可以通过类名访问
-
两种方式
快速入门:统计创建对象的个数
public class practise01 {public static void main(String[] args) {statictest statictest1 = new statictest();statictest statictest2 = new statictest();statictest statictest3 = new statictest();int tot = statictest.totalobjectnum();System.out.println("创建statictest类对象的总个数是:" + tot);}
}class statictest{static int objectnum;public statictest(){statictest.objectnum ++;}public static int totalobjectnum(){return objectnum;}
}
创建statictest类对象的总个数是:3
代码说明
1. 创建类变量objectnum
用于统计创建该类对象的个数
2. 在构造器中加入逻辑,只要创建对象,类变量objectnum
的值就自增一
3. 使用totalobjectnum
方法返回该类对象创建的个数
类变量的使用细节
-
(1)什么时候需要用类变量?
-
当我们需要让某个类的所有对象共享一个变量时,就可以考虑使用类变量(静态变量)
-
-
(3)类变量可以通过类名.类变量
来访问,但实例变量只能通过对象.类变量
来访问(但 Java 设计者推荐我们使用类名.类变量
方式访问)。
-
-
(5)类变量是随类加载时就初始化了,也就是说,即使你没有创建对象,只要类加载了,就可以使用类变量。
-