对于基本数据类型,传递是以传值方式传的(基本数据类型是int,long,double,float.......之类)。常见的如Ingeger(int类型的封装),Long(long类型的封装),数组和自定义类型属于的是引用类型----我这个例子是测试x与y的值交换情况。
见以下例子
public class Test {
public static void change(int x,int y)
{
x=x+y;
y=x-y;
x=x-y;
}
static void change(int []num)
{
num[0]=num[0]+num[1];
num[1]=num[0]-num[1];
num[0]=num[0]-num[1];
}
static void change(Point t)
{
t.x=t.x+t.y;
t.y=t.x-t.y;
t.x=t.x-t.y;
}
public static void main(String[] args)
{
int x=3;
int y=4;
change(3,4);
System.out.println("这是基本数据类型:x="+x+","+"y="+y);
int num[]=new int[]{4,5};
change(num);
System.out.println("这是数组类型,数组也是引用类型:num[0]="+num[0]+","+"num[1]="+num[1]);
Point pt=new Point();
pt.x=3;
pt.y=4;
change(pt);
System.out.println("自定义类型传的是引用类型:x="+pt.x+",y="+pt.y);
}
}
class Point
{
int x,y;
}
本文摘自:诗东教育,程序员的春天,让你稳稳地幸福(*^__^*), 网址:www.nedsoft.cn