值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
代码说明:- //Test.java
- class Test {
- private String name;
- public String getName() {
- return 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 |