类变量也叫静态变量,也就是在变量前加了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在引用时值仍为“李四”。