java函数传值的一点心得

80酷酷网    80kuku.com

  函数|心得 

函数传值分为两类:    1.基本型别  2.reference

基本型别没什么可说.对传 reference  具体说下.

程序如下:

class Change{
  int i;
  Change(int ii){i=ii;}
  static int changeInt(Change ch){     
    ch.i++;
    return 33;
  }
  public static void main(String[] args){
    Change c=new Change(11);
    System.out.println("111:"+c.i);
    //System.out.println("before:       "+c);
    changeInt(c);
    System.out.println("222:"+c.i);
    System.out.println("changeInt():"+changeInt(c));
    //System.out.println("after:       "+c);
  }
}

当调用  changeInt(Change ch)  方法时,可以通过 ch  将 i  的值改变.但是注意:  ch  只是  原reference的一个拷贝,地址相同,所以当我们输出注释的两句话时,得到的地址是一样的.这就说明函数并没有将 对象改变.

就是thinking  in  java上所说:     1.没有局域对象,只有局域性的  references;  2.references 受范围的限制,对象则否

                                                      



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: