静态变量:被static修饰的变量;
实例变量:未被 static 修饰,即一般变量,也是最常见的变量;
二者区别:实例变量属于对象的某个属性,只有创建对象时,才会为其分配空间,才能使用实例变量;
而静态变量属于类模板,它不属于任何一个对象,只要加载类的字节码,就会对其分配空间,静态变量
使用了;静态变量通过类名调用,实例变量通过对象调用。
eg:
public class Test{
private static int a = 1;
private int b = 1;
public Test {
a++;
b++;
System.out.println("a = " + a + " , b = " + b);
}
}
在此段代码中,无论创建多少个对象,都只会分配一个a变量,每创建一个对象a变量加1;而对于b变量而言,
每创建一个对象,都会分配一个b变量,每次只会加1,所以无论创建多少个对象,b变量的值都只会加1。