java函数传值的一点心得

函数传值分为两类:    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 受范围的限制,对象则否

                                                      

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值