java教程:方法参数传递机制
时间:2014-04-05 12:29 来源: 我爱IT技术网 作者:微风
java教程:方法参数传递机制
参数传递方式只有一种:值传递。参数分为实际参数(传递值的那些),和形式参数(接收值的那些)
eg:
int a = 6;// 实际参数
int b = 9;// 实际参数
swap(a, b); //此时a,b为形式参数,是实际参数的值拷贝
//不管swap对参数如何操作,实际参数是不会受影响的。
另外,要区分参数为引用类型的情况
eg:
class DataWrap{
public int a;
public int b;
}
public class IfTest
{
public static voidswap(DataWrap dw){
int temp = dw.a;
dw.a = dw.b;
dw.b = temp;
System.out.println("a:" + dw.a + " b: " + dw.b);
}
public static voidmain(String[] args) {
DataWrap dw = newDataWrap(); // dw 实际参数
dw.a = 1;
dw.b = 2;
swap(dw); // a: 2b: 1。dw为形式参数
System.out.println("a:" + dw.a + " b: " + dw.b); // a: 2 b: 1
}
}
在这个例子,表面上,实际参数受到形式参数的改变而改变,好像违背了值传递,实质上,由于此时参数为引用类型,形式参数接收的是实际参数保存的地址的一份拷贝,而对形式参数的操作均从这个地址指向的实际对象,所以,最终产生上述结果。
本文来源 我爱IT技术网 http://www.52ij.com/jishu/4756.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
