静态变量由类的所有实例共享,而实例变量对于类的每个实例都是唯一的。
静态变量的内存在编译时分配,它们在加载时加载,并在类初始化时初始化。对于实例变量,以上所有 *** 作均在运行时完成。
这是一个有用的示例:一个实例变量是每个对象一个:每个对象都有自己的实例变量副本。
public class Test{ int x = 5; }Test t1 = new Test(); Test t2 = new Test();
t1和t2都将拥有自己的x副本。
静态变量是每个类一个:该类的每个对象共享相同的静态变量。
public class Test{ public static int x = 5; }Test t1 = new Test(); Test t2 = new Test();
t1和t2都将共享相同的x。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)