静态变量
在Java中,静态变量用static修饰,静态变量在项目启动时,已经存放在了栈中,可以直接通过(类名.变量名)的方式调用;静态变量属于类,所以每次实例化都对它没有影响。
实例变量
实例变量只有在类实例化后,才保存在栈中,等待调用;并且每次实例化后,都是初始值。
附上代码说明:
public class Test1 {
public static int stInt = 1;
public int incInt = 1;
Test1() {
Test1.stInt++;
this.incInt++;
}
public static void main(String[] args) {
Test1 t1 = new Test1();
System.out.println("第一次实例化------->");
System.out.println("stInt: "+Test1.stInt);
System.out.println("incInt: "+t1.incInt);
Test1 t2 = new Test1();
System.out.println("第二次实例化------->");
System.out.println("stInt: "+Test1.stInt);
System.out.println("incInt: "+t2.incInt);
}
}
结果是:
第一次实例化------->
stInt: 2
incInt: 2
第二次实例化------->
stInt: 3
incInt: 2