当前位置: 技术问答>java相关
Java中方法调用到底是不是按值调用的???
来源: 互联网 发布时间:2015-04-06
本文导语: 在《core java I》中第85页的文章中说java的对象作为函数参数使用是按值传递的并举了个例子: static void swapDays(Day a,Day b) { Day temp=b; b=a; a=temp; } 书上说这个例子不起作用,不能交换a和b的值。 为什么在1...
在《core java I》中第85页的文章中说java的对象作为函数参数使用是按值传递的并举了个例子:
static void swapDays(Day a,Day b)
{ Day temp=b;
b=a;
a=temp;
}
书上说这个例子不起作用,不能交换a和b的值。
为什么在156页的排序中用可以对一个数组中的数进行排序?并返回数组????
例6.1EmployeeSortTest
/**
* @version 1.20 07 Apr 1998
* @author Cay Horstmann
*/
import java.util.*;
import corejava.*;
public class EmployeeSortTest
{ public static void main(String[] args)
{ Employee[] staff = new Employee[3];
staff[0] = new Employee("Harry Hacker", 35000,
new Day(1989,10,1));
staff[1] = new Employee("Carl Cracker", 75000,
new Day(1987,12,15));
staff[2] = new Employee("Tony Tester", 38000,
new Day(1990,3,15));
ArrayAlg.shellSort(staff);
int i;
for (i = 0; i = 1)
{ for (int i = incr; i = incr
&& temp.compareTo(a[j - incr])
static void swapDays(Day a,Day b)
{ Day temp=b;
b=a;
a=temp;
}
书上说这个例子不起作用,不能交换a和b的值。
为什么在156页的排序中用可以对一个数组中的数进行排序?并返回数组????
例6.1EmployeeSortTest
/**
* @version 1.20 07 Apr 1998
* @author Cay Horstmann
*/
import java.util.*;
import corejava.*;
public class EmployeeSortTest
{ public static void main(String[] args)
{ Employee[] staff = new Employee[3];
staff[0] = new Employee("Harry Hacker", 35000,
new Day(1989,10,1));
staff[1] = new Employee("Carl Cracker", 75000,
new Day(1987,12,15));
staff[2] = new Employee("Tony Tester", 38000,
new Day(1990,3,15));
ArrayAlg.shellSort(staff);
int i;
for (i = 0; i = 1)
{ for (int i = incr; i = incr
&& temp.compareTo(a[j - incr])