对于基本数据类型,传递是以传值方式传的(基本数据类型是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

 

收藏 打印