直接上代码:
/**
* 静态变量与实例变量区别
* @author Rain
*/
public class StaticTest_1 {
private static int i=0;
private int j=0;
public StaticTest_1() {
i++;
j++;
System.out.println("i="+i+" j="+j);
}
public static void main(String[] args) {
StaticTest_1 s1=new StaticTest_1();
StaticTest_1 s2=new StaticTest_1();
StaticTest_1 s3=new StaticTest_1();
StaticTest_1 s4=new StaticTest_1();
StaticTest_1 s5=new StaticTest_1();
StaticTest_1 s6=new StaticTest_1();
StaticTest_1 s7=new StaticTest_1();
}
}
i为静态变量,j为实例变量,静态变量是全局的,对于任何一个此类的对象,i都是同一个;实例变量每个对象都有各自的一份,所以上述代码中i是随对象的个数而逐渐累加的,而j是每次调用构造器只累加一次。
本文通过示例代码解释了静态变量与实例变量的区别。静态变量在整个类中共享,无论创建多少个对象,都只有一份副本;而实例变量属于每个对象,每次创建新对象时都会为该对象分配一份独立的副本。
420

被折叠的 条评论
为什么被折叠?



