class Test {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
//TestTransferParameter.java
public class TestTransferParameter{
public static void main(String[] args) {
Test a = new Test();
a.setName("a");
Test b = new Test();
b.setName("b");
System.out.println("before swap: " + "a=" + a.getName() + "; b=" + b.getName());
swap(a,b);
System.out.println("after swap: " + "a=" + a.getName() + "; b=" + b.getName());
}
private static void swap(Test a, Test b) {
Test temp;
temp = a;
a = b;
b = temp;
System.out.println("swaping: " + "a=" + a.getName() + "; b=" + b.getName());
}
}
输出结果:
before swap: a=a; b=b
swaping: a=b; b=a
after swap: a=a; b=b
Java 真是值传递,不是引用传递
Java参数传递详解
本文通过一个简单的Java程序演示了对象作为参数传递时的行为。通过交换两个对象引用的示例展示了在Java中对象是以值传递还是引用传递,并解释了为何方法内部的交换不会影响外部变量。

被折叠的 条评论
为什么被折叠?



