教学贴:引用类型,值传递,引用传递

於黾 於黾 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
很多人老是搞不懂引用类型到底是个什么玩意,查MSDN,上网查,基本就是堆栈什么的,枯涩难懂
我就来给大家形象的解释解释什么是引用类型

值类型大家基本都知道是怎么回事,就不赘述了
引用类型不过就是类似硬盘上的文件,比如D:\1.TXT
实例化一个对象(创建文件),它的实例始终只有一个,而路径就是它的引用,引用它的对象可以有很多个(就是一串文本)
你可以在同一个程序里的不同地方使用这个路径,甚至在不同的程序里使用这个路径,但是不管你用了多少次,它都指向的同一个对象

什么是值传递呢?
就是只把路径传递过去
那么我拿到路径之后,通过这个路径把文件改了,传路径过来的地方再去访问这个文件,也同样是改过的
而如果我拿到路径之后不用,而是重新new一个对象(copy了一个文件,叫D:\副本-1.TXT),那么当前的路径(引用)是指向了新的对象,跟原来的没任何关系了,我无论对这个文件如何改,都不影响原来的

什么是引用传递呢?
就是把路径传递回去。
如果路径没变(没有重新copy文件),那么传回去和不传回去其实没有区别,反正没变嘛
如果路径变了,那么把新路径传递回去,那么两个地方就都指向新文件,而旧文件就没用了
...全文

相关推荐

java值传递与引用传递

不管是按值传递还是按引用传递,都是把栈中的数据备份了一份给参数变量,只不过值类型备份的是具体的数值,而引用类型备份的是内存地址

jwcandy

详解java的值传递、地址传递、引用传递

主要介绍了详解java的值传递、地址传递、引用传递的相关资料,需要的朋友可以参考下

weixin_38637805

Java中的值传递和引用传递

当一个变量为一个参数传入方法内部的时候,会有两种不同的传递方式:值传递和引用传递。   值传递的特点:不管方法内部对传进去的参数作任何改变,也不会影响方法外部的变量的值   引用传递的特点:方法内部对传进去的参数作的改变也会影响方法外部的变量的值   那么哪些是值传递,哪些是引用传递呢?   1、基本类型(8种)的传递都是值传递   2、引用类型(除String外)都是引用传递   3、Strng比较特殊,它虽然是引用类型,但是却是值传递   通过一下例子来理解:   Student.java package com.tianjf; public cla

weixin_38622983

Java值传递和引用传递详解

主要为大家详细介绍了Java值传递和引用传递,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

weixin_38744526

值传递,指针传递,引用传递的区别,内含可运行代码和详细解释

总结:在实际使用中,值传递一方面会占用内存空间,内置类型还好(int等),如果是类(class)类型,赋值可能会是很大一笔开销;另一方面,值传递由于形参和实参内存地址不一样,有些功能并不能实现(swap()),因此,除了极为简单的函数会使用值传递外,大多数会采用引用传递。而对于指针传递,则在涉及数组的情况下使用较多,因为指针本身会给代码增加复杂性,难维护性

第八代火影
评论 7
收藏 已收藏
分享
返回顶部
於黾
非技术区 7,776 成员 63,111 内容