A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

通过ref传递的实参为什么必须在调用之前被赋值??

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
ref参数既可以传入,又可以传出,通过下面的代码可以看出在Test方法中,由ref修饰的参数在传入前赋值,改变方法中参数变量的值,调用者方法中变量的值也会相应改变,所以在Main方法中number的输出结果为500。

12.jpg (14 KB, 下载次数: 31)

12.jpg

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
使用ref传递参数是一种引用类型的传递而不是值类型,引用类型传递参数时并不会开辟一个新的地址空间来存储参数,而是传递的一个引用,引用传递之前变量的值,上面的兄弟说的很对,改变方法中参数变量的值,调用者方法中变量的值也会相应改变,因为他就是一个指针指向一个地址而已。同时要注意,如果传递参数之前不赋值,这个引用也就不存在了。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马