作业帮 > 综合 > 作业

java中类变量和实例变量区别(数值的改变)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 10:59:18
java中类变量和实例变量区别(数值的改变)
public class A{      static int a = 0;      int b = 0;} public class B{      public static void main(String [] args){            A a1 = new A();            A a2 = new A();           a1.a = 3;           a1.b = 4;           System.out.println(a2.a);           System.out.println(a2.b);      }}  为什么:a2.a = 3           而              a2.b = 0(没有改变呢?)
类变量(即静态变量)是全局变量,所有的实例(如你提到的a1、a2)共享的变量.如果你在一个实例中改变了其值,那么所有的实例的这个变量的都会改变,例如 a1.a=10,那么你打印a2.a的值时也是10.而实例变量是每个实例自己独有的变量,互不干扰.就像你上面提到的,如果a1.b=4,打印a2.b还是0,那就说明a2实例中的b还是默认赋值0,并没有赋值4.