类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
例:
public class variableTest { public static void main(String[] args) { person A=new person(); A.age=10; A.name="张三"; System.out.println(A.age); //-结果为10 System.out.println(A.name); //-结果为"张三" person B=new person(); //类变量是针对所有对象的,所以A改变age,B的age也改变 System.out.println(B.age); //-结果为10 //实例只改变自身的,所以A对象的name改变,不影响对象B的name变量 System.out.println(B.name); //-结果仍为"李四" } } class person{ static int age = 11; //--类变量 public String name="李四"; //--实例变量 }
结果:
10 张三 10 李四
由结果我们可以看出:age初始化是11,在A赋值过之后,B在引用时值变为10;
name初始化是“李四”,在A赋值之后,B在引用时值仍为“李四”。