黑马程序员技术交流社区

标题: 值类型的引用传递和值传递,引用类型的值传递和引用传递 [打印本页]

作者: naruto2205    时间: 2013-12-16 22:33
标题: 值类型的引用传递和值传递,引用类型的值传递和引用传递
本帖最后由 naruto2205 于 2013-12-17 23:27 编辑

值类型的引用传递和值传递,引用类型的值传递和引用传递,这四种传递的特点和适用对象是什么,就是out和ref的使用,有点晕

作者: 诱惑灵魂    时间: 2013-12-17 00:09
这个要多写才能理解,我也优点晕
要知道ref是必需要先初始化才能用,但调用时可以对它什么也不做.
out可以不初始化也能用,但调用时一定要对其赋值(即使已经初始化的也要赋值,哪怕是赋一个和原来一样的值).
out和ref都是传地址的,但是out只传出地址,传入地址是没有初始化的,而ref则是传入了已经初始化的地址,并且传出也是这个地址,所以ref可以传入也可以传出有意义的数据,但是out只能传出。
只要记住rel是有进有出,out是只出不进 就好写代码了
作者: 如远行客    时间: 2013-12-17 08:31
经你这么一说,也晕了。
out和ref都是引用传递,但是两者有区别。
ref传递引用之前一定要对变量初始化,并且,ref可以看作是既往方法里面传入,又将经过处理的后的值从方法里面传出,它是双向传递。
out方法就不一样了,用它进行传递的值之前不需要初始化,而在经过方法处理之后将其从方法里面传出。调用方法是填在out处的变量实际上只是用来接收从方法里面传出的引用。

作者: 雨中恋人    时间: 2013-12-17 17:50
下面是方法的总节 你看看吧
1、使用方法的目的就为了代码的重用。
2、方法中的重要东西
1)、参数:完成这个方法所必须要提供给这个方法的条件
2)、返回值 :方法执行完成后,返回给用户的结果
3)、return:终止当前方法的运行  返回要返回的值
4)、out:侧重于返回多个参数,在方法内必须为其赋值 方法外可以不赋值。
5)、ref:侧重于将一个值带入方法中进行改变,改变完成后再将改变后的值带出来。

6)、param:可变参数数组。可变参数数组必须是形参列表中的最后一个元素
7)、递归:方法自己调用自己。
8)、重载:方法的名称相同,但是方法的参数不同(1、如果参数的类型相同,那么参数的个数就不能相同2、如果参数的个数相同,那么参数的类型就不能相同)




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