static特性
1.被static修饰过的成员变量,既可以被某类的对象调用(对象共享其值),还可以被某类直接调用,且其优先级大于对象。
为什么类优先级大于对象,因为:
2.被static修饰过的成员变量,在类被创建的时候就存在。(也就是其随着类的加载而加载了)
这就意味着,哪怕不创建该类对象,一样可以访问,即该成员变量值直接被类调用。
3.就是之前所说的共享数据。
For example
class Person{
String name; //实例变量
static int age; //静态变量(类变量)
}
public class Study{
public static void main(String[] args){
Person one=new Person();
one.age=18;
System.out.println(Person.age); //输出结果为18
}
}
由此而引申的新名词(注释部分)
1.类变量(静态变量):被static修饰过的成员变量;(存储于datesegment内存的静态区)
2.实例变量: 未被static修饰过的成员变量; (存储于heapsegment内存的堆区)