我们通过两个例子来了解java方法的参数传递机制
TestPrimitiveTransfer.java
源代码如下

public class TestPrimitiveTransfer 
{
	public static void swap(int a,int b)
	{
		//下面三行代码实现a,b变量的值交换
		//定义一个临时变量来保存a变量的值
		int tmp=a;
		a=b;
		//把临时变量tmp的值赋给a
		b=tmp;
		System.out.println("swap方法里,a的值是"+a+",b的值是"+b);
	}
	public static void main(String[] args) 
	{
		int a=6;
		int b=9;
		swap(a,b);
		System.out.println("交换后,实参a的值是"+a+",实参b的值是"+b);
	}
}

效果如下
java方法的参数传递
同时TestReferenceTransfer.java
源代码如下

public class TestReferenceTransfer 
{
	public static void swap(DataWrap dw)
	{
		//下面三行代码实现dw的a,b属性值交换
		//定义一个临时变量来保存dw对象的a属性的值
		int tmp=dw.a;
		dw.a=dw.b;
		dw.b=tmp;
		System.out.println("swap方法里,a属性的值是"+dw.a+";b的值是"+dw.b);
	}
	public static void main(String[] args) 
	{
		//DataWrap类在DataWrap.java里面
		DataWrap dw=new DataWrap();
		dw.a=6;
		dw.b=9;
		swap(dw);
		System.out.println("交换结束后,a属性的值是"+dw.a+";b属性的值是"+dw.b);
	}
}

其中的DataWrap类在DataWrap.java里面,源代码如下

public class DataWrap
{
	public int a;
	public int b;
}

运行效果图如下
java方法的参数传递机制

随机文章

三星明年将其手机系统Bada开源
三星明年将其手机系统Bada开源

eclipse使用sqlexplorer插件(图文)
eclipse使用sqlexplorer插件(图文)

sandisk cruzer U盘量产,写入ISO
sandisk cruzer U盘量产,写入ISO

javascript让图片来回移动
javascript让图片来回移动

Android BlueStacksAppPlayer最新测试版发布
Android BlueStacksAppPlayer最新测试版发布

相关文章

curl获取https开头的url的内容
curl获取https开头的url的内容

Java基础第二讲:Java基本语法(一)
Java基础第二讲:Java基本语法(一)

苍井空可爱喝汤照
苍井空可爱喝汤照

wordpress使用多说插件后带来的问题
wordpress使用多说插件后带来的问题

500px官方终于支持Windows Phone平台了
500px官方终于支持Windows Phone平台了

Java基础第十七讲:异常处理(一)
Java基础第十七讲:异常处理(一)

内容分享:道招
本文链接:java方法的参数传递机制
道招声明:除特别标注或作者不详外,本站所有文章均为原创,转载请注明。欢迎共同关注互联网!