谁能告诉我什么是传引用?最好举个简单的例子,本人刚学java!谢谢前辈了

解决方案 »

  1.   

    简单的说,引用就类似于C++中的指针,是与值传递相区别的。
    比如说,如果b是a的引用,则,a与b的值是相同的,但是b并没有新开辟相应的内存空间来存储数据,而只是把类似“指针”的东西指向了a的地址,才貌似得到a的值。如果要例子的话,比较典型的是String这个类,不过就是有个池的概念,你倒是不用理他
      

  2.   

    Object a = new Object();
    Object b = null;
    b = a;
    执行上面的代码后a和b指向同一块内存如下图
    第一行:a----〉内存
                   new object()
    第二行:b----〉null
    第三行:a----〉内存
            b----> new object()
    不知道你是不是问这个,a中存放的是一个对象的内存首地址,a=b后b中存放着和a同样的内存地址,所以指向同一块内存,是同一个对象
      

  3.   

    我把二楼的意思具体化吧
    String a = "Fuck Japanese";
    String b = a;
    输出a和b;
    a = "Chinese Fuck Japanese";
    再输出a和b;输出结果是:
    a: Fuck Japanese
    b: Fuck Japanese
    a: Chinese Fuck Japanese
    b: Fuck Japanese
      

  4.   

    public class Test { 
        public static void f(Test y){
            System.out.println(y.toString());
        }
        public static void main(String args[]) {
            Test t =new Test();  
            System.out.println(t.toString());
             f(t);
            }
    }
    这是书上的例子,t,y指向同一个对象,方法f中传的就是引用。
    对于基本数据类型如int等使用传值策略,其它都是传引用。传引用时将引用复制一份传入方法,但是指向的还是原对象。在方法中可以将引用指向另一个对象,却不能改变原对象。