class test01111433
{
public static void main(String[] arg)
{
Integer x=100;
Integer y=x;
y=150;
System.out.println(x.intValue());
System.out.println(y.intValue());
}
}
为什么输出的x,y值不一样?x,y不是引用么?
如果要写成像String那样的引用应该怎么写?

解决方案 »

  1.   

    本来x 和 y都是指向同一个引用的
    你在执行y=150的时候y指向了另外一个引用(150)
    所以x是100
    y是150
      

  2.   

    那我要想实现x,y指向同一个对象,然后通过y改变对象的值,应该怎么做啊
      

  3.   

    看到LZ的问题,我也有些疑问.其实我以前思想很简单的,,就是把他们看成int,只不过是多了一些可以调用的方法而已.一看LZ的说法,有点迷糊了..  但是刚才我调试过你上面的程序..赋值运算都是对里面的value进行赋值,而且value前面有个小红方快上面有个F..  引用类型的是传地址的吧,为什么y的值变了x没变呢?他们不是指向同一个地址的吗