[align=center][size=medium]关于JAVA函数传引用和值的澄清[/size][/align]
由来:
数组 int[] a = {1,2,3};
作用函数
void switch(int x, int y) {
//function is to switch x with y
int temp = x;
x = y;
y = temp;
}
问题:调用switch(a[l],a[r])时,不能正确交换下标为l,r的元素
思考:传值与引用的区别
结论:Java对于内置类型是值拷贝的,对对象级别的数据是传引用的
即,基本类型的参数传递采用值拷贝
Object类子类的对象参数传递采用传引用。但如果试图改变该对象的引用,也是不会生效的。
问题到这里就很清楚了。具体可以再看看
http://java.ccidnet.com/art/3737/20050527/472879_1.html