局部变量永远是局部变量,当然你可以改变地址指向的对象的内容。
package com.andy.springtransaction.java;
public class ReferenceTest {
//如何理解java种没有真正的引用传递,传递的只是引用的地址?看这个例子就够了
public static void main(String[] args) {
ReferenceTest referenceTest=new ReferenceTest();
System.out.println("referenceTest before="+referenceTest);
referenceTest.change(referenceTest);
System.out.println("referenceTest after="+referenceTest);
}
public void change(ReferenceTest a){
System.out.println("a before="+a);
a=new ReferenceTest();
System.out.println("a after="+a);
}
}
输出结果如下:
referenceTest before=com.andy.springtransaction.java.ReferenceTest@7cca494b
a before=com.andy.springtransaction.java.ReferenceTest@7cca494b
a after=com.andy.springtransaction.java.ReferenceTest@7ba4f24f
referenceTest after=com.andy.springtransaction.java.ReferenceTest@7cca494b
Process finished with exit code 0