Java关键字 static :
当一个Java程序的多个对象都共有一个属性或者共有多个属性时,可以使用static关键字声明。被static关键字声明的属性存在于JVM的方法区中。
举个例子:
有一个People类,这个类中有一个使用static修饰的属性 ‘国籍’,实例化这个类两次并修改这个属性:
public class TestMain {
public static void main(String[] args) {
Peoples p1 = new Peoples();
Peoples p2 = new Peoples();
Peoples p3 = new Peoples();
p1.nationality = "美国";
p2.nationality = "英国";
p3.nationality = "中国";
System.out.println("p1的国籍为:" + p1.nationality);
System.out.println("p2的国籍为:" + p2.nationality);
System.out.println("p3的国籍为:" + p3.nationality);
}
}
class Peoples {
static String nationality = null;//国籍
String name = null;
}
结果为:
因为被static修饰的属性在JVM的内存中只存在唯一一份,所以当有多个对象修改这个属性时,就相当于多次修改了这个属性的值。
被static关键字所修饰的方法不能使用this,super关键字!!!