引用类型参数的传值

java的引用型数据包括对象 数组以及接口.当参数是引用类型时,"传值"传递的是变量的引用而不是变量所引用的实体.
如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化.
两个同类型的引用型变量如果具有同样的引用,就会用同样的实体.
class People
{ int money;
  void setMoney(int n)
    { money=n;
    }
}
 
class A
{ void f(double y,People p)
    { y=y+1;
      p.setMoney(100);
      System.out.printIn("参数y的值是:"+y);
      System.out.printIn("参数对象p的money是:"+p.money); 
    }
}
 
public class Example
{ public static void main(String args[])
  {  double y=0.8;
     People zhang=new People();
     zhang.setMoney(8888);
     A a=new A();
     System.out.printIn("在方法f被调用之前对象zhang的money是:"+zhang.money+"y的值是:"+y);
     a.f(y,zhang);
     System.out.printIn("在方法f被调用之后main方法中y的值仍然是:"+y);
     System.out.printIn("在方法f被调用之后main方法中对象zhang的money是:"+zhang.money);
  }
}
 
运行的结果如下:
在方法f被调用之前对象zhang的money是:8888 y的值是:0.8
参数y的值是:1.8
参数对象p的money是:100
在方法f被调用之后main方法中y的值仍然是:0.8
在方法f被调用之后main方法中对象zhang的money是100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值