当使用static关键字定义成员变量时,该变量将成为静态变量或类变量。静态变量与类相关联而不是与类的每个对象实例相关联。这意味着,只要类被加载,静态变量就会被初始化,且只会初始化一次,而且可以被所有该类的对象实例所共享。
以下是使用static关键字定义静态变量的示例:
public class MyClass {
static int count = 0;
String name;
public MyClass(String name) {
this.name = name;
count++;
}
}
在上面的示例中,count变量是一个静态变量,用于计算MyClass类的实例数量。每次创建MyClass类的新实例时,都会自增count变量的值。因为count变量是静态变量,所以它在所有MyClass类的实例中都是相同的。
以下是如何访问静态变量的示例:
MyClass obj1 = new MyClass("Object 1");
MyClass obj2 = new MyClass("Object 2");
System.out.println(MyClass.count); // 输出:2
在上面的示例中,我们创建了两个MyClass类的实例,然后使用类名访问count变量。因为count变量是静态变量,所以我们可以使用类名来访问它,而不需要创建类的对象实例。输出结果是2,因为我们创建了两个MyClass类的实例。