【Core Java】对象与类-方法参数传递
提问:Java 对象采用的是值传递还是引用传递? 有些程序员认为 Java 对象采用的是引用调用,实际上,这种理解是不对的。下面给出一个反例来详细的阐述一下这一问题。 首先,编写一个交换两个雇员对象的方法: public static void swap(Employee x, Employee y) { Employee temp = x; x = y; y = temp; } 如果 Java 程序时引用调用,那么这个方法就应该能都实现交换实际的效果。 System.out.println("\nTesting swap:"); Employee a = new Employee("Alice", 70000); Employee b = new Employee("Bob", 60000); System.out.println("Before: a=" + a.getName()); System.out.println("Before: b=" + b.getName()); swap(a, b); System.out.println("After: a=" + a.getName()); System.out.println("After: b=" + b.getName()); 但是结果 a 仍然时 Alice,b 是 Bob。对象引用进行的是值传递。 ...