方法传参

关于方法传参:

  (参数也叫 参变量 ,它是专属于方法体的局部变量!)

  首先我想先说一个结论:基本数据类型作形参时,实参向形参传递的是值;引用数据类型作形参时传递的是

对象。(其实传递都是值,具体可参考http://www.cnblogs.com/wsw-blog/articles/my-bolgs-898558572.html)

     我们知道在调用带参方法时需要按照该方法的形参变量列表将类型、顺序一 一对应的实参变量的值传递过去。

这就是方法的参数传递! 

  当基本数据类型作为形参时,无论形参变量在其所在的方法内被如何操作都不会对传值给他的实参变量有任 何影响!基本变量就好比存储数据的U盘,形参变量就是一个空U盘而实参变量就是一个存有数据的U盘。参数传递就是把有数据的U盘(实参)内的数据拷贝一份给空U盘(对形参变量初始化)。当你对空U盘(当然现在不是空的了)作删除、添加(其实就是对形参变量的重新赋值)操作时,并不会影响到拷贝数据给它的U盘(实参)内的数据!因为它们两个是两个完全独立的空间!一个空间内容的改变并不会 影响到另一个!  

  当引用数据类型作为形参时,其实是把作为实参的引用变量里储存的地址 (它指向对象所在堆内存的地址) 传给了作为形参的同类型的引用变量,所以这时它们两个指向的是一个堆内存,也就是说是一个对象。所以我们可以通过形参变量点出该对象的属性并对其进行修改!就好比A仓管员可以管理公司仓库,但是一个人管理仓库太累,公司又招了B仓管员。就是把A仓管员的权限赋给了B,这时他们俩谁都可以管理公司仓库(但他俩只能管理本公司仓库不能管理其他公司的仓库)。也就是说他们都是指向一个仓库!这里的仓管员A、B就是 仓库类型 引用的两个变量,而一个具体的公司仓库就是仓库类型的一个实例。我们可以通过仓管员(引用变量)知道仓库里有什么东西(就是student.name;)或者改变仓库里的东西(student.age = 20;)。仓管员拥有的是指向具体仓库的管理权限就是引用变量存储它所指向的类实例的地址。到了这里我们就明白了,其实引用变量最大的作用不是存值而是作为一个指针的作用!(貌似越说越复杂了,其实它本身就很复杂!如果还是不明白可以私信给我。)

转载于:https://www.cnblogs.com/wsw-blog/p/my-bolgs.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值