静态:Static
Static是一个修饰符,用于修饰成员(成员变量,成员函数),当成员被静态修饰后,除了可以被对象调用外,还可以直接被类名调用。
class Person {
String name; //成员变量,实例变量
static String country = "CN"; //静态的成员变量,类变量
}
public class StaticDemo {
public static void main(String[] args) {
Person p = new Person();
System.out.println(p.country); //使用对象调用
System.out.println(Person.country);//直接使用类名调用
}
}
运行结果:
CN
CN
Static关键词所修饰的成员随着类的加载而加载(随着类的消失而消失),也就是说静态变量不需要依靠创建对象而存在在内存中,所以它的生命周期最长
优先于对象存在
(静态是先存在的,对象是后存在的)
被所有对象所共享
可以直接被类名所调用
类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
类变量生命周期最长,随着类的消失而消失。
实例变量的生命周期取决于对象的建立和消失。
原文:https://www.cnblogs.com/liyuxin2/p/12297521.html