当前位置: 代码迷 >> J2ME >> 进入看看,有点
  详细解决方案

进入看看,有点

热度:182   发布时间:2016-04-17 21:00:36.0
进来看看,有点
public static void main(String[] args){
 class Number {
  int i;
}
    Number n1 = new Number();
    Number n2 = new Number();
    n1.i = 9;
    n2.i = 47;
    System.out.println("1: n1.i: " + n1.i +
      ", n2.i: " + n2.i);
    n1 = n2;
    System.out.println("2: n1.i: " + n1.i +
      ", n2.i: " + n2.i);
    n1.i = 27;
    System.out.println("3: n1.i: " + n1.i +
      ", n2.i: " + n2.i);
  }
}
输出的第三条语句当中,n2.i=27  为什么??
------解决方案--------------------
因为n1 = n2;的时候,n1也指向了n2所指向的对象,也就是说n1和n2引用了相同的对象
所以n1.i=27相当于修改n1所引用的对象的属性,因为n2和n1引用的对象相同,所以n2能反映n1修改的结果。
  相关解决方案