黑马程序员技术交流社区

标题: 通过ref传递的实参为什么必须在调用之前被赋值?? [打印本页]

作者: 李先洋    时间: 2012-12-15 22:44
标题: 通过ref传递的实参为什么必须在调用之前被赋值??
通过ref传递的实参为什么必须在调用之前被赋值??
作者: 黑马丁巍    时间: 2012-12-16 11:48
ref参数既可以传入,又可以传出,通过下面的代码可以看出在Test方法中,由ref修饰的参数在传入前赋值,改变方法中参数变量的值,调用者方法中变量的值也会相应改变,所以在Main方法中number的输出结果为500。

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

12.jpg

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2