大侠们,一个对象的引用可不可以看作是一个指针啊?有人说可以,有人说它在内存中根本就没有自己的空间,到底是怎样的啊!麻烦给说说!

解决方案 »

  1.   

    对象的引用就是指针,它有自己的空间,而且每个对象的引用类型和大小都是一样的,因为都是地址嘛,它和C++里指针的区别就是它不能进行地址运算,比如++啊,我也不知道有没有说明白,呵呵楼主看看TIJ吧!!
      

  2.   

    如果说对象的引用是一个指针为什么
    void change(day x,day y)
    {
       day temp=y;
    }
      

  3.   

    如果说对象的引用是一个指针为什么调用change(obj1,obj2)起不到作用?
    void change(day x,day y)
    {
       day temp=y;
       y=x;
       x=temp;}
      

  4.   

    假设你的主函数里有两个 对象 a,b  调用change(a,b);
    这里的 a b x y 是四个不同的内存地址 a x 指向同一个day的实例 b y 指向同一个day的实例
    在方法change(a,b) 中你只是把x y 所指向的实例改变了 而a b 所指向的实例没有改变 所以不好yong、、
      

  5.   

    楼上的,说的好,就是这个意思,传递给函数的只是地址副本,就是说x,y是另外两个对象,
    只不过x指向与a一样,y指向与b一样,所以当没有改变他们的指向时候,操作的是同一块地址,
    而上边你改变了xy的指向,对ab没有影响。