当前位置: 首页 > news >正文

asp网站微信公众号网站建设游戏

asp网站,微信公众号网站建设游戏,网站后台如何更新,wordpress mysql5.1🎉 前言 之前一直以为Java传对象是引用传递,直到最近用Java写数据结构链表时遇到一些问题,这才让我重新思考这个问题,经过我的一番研究,发现不能一棒子打死,其实这其中既有值传递,又有引用传递…

🎉 前言

之前一直以为Java传对象是引用传递,直到最近用Java写数据结构链表时遇到一些问题,这才让我重新思考这个问题,经过我的一番研究,发现不能一棒子打死,其实这其中既有值传递,又有引用传递,让我们往下看。

🎉 引用传递的情况

之前一直认为是引用传递,是因为我的使用场景大多数是修改对象的属性,就像下面这段代码:

class LinkNode{int val;LinkNode next;LinkNode(){}LinkNode(int val,LinkNode next){this.val = val;this.next = next;}
}class Main{public static void main(String[] args) {LinkNode L = new LinkNode(666,null);System.out.println("传参之前,L.val="+L.val);Fun(L);System.out.println("传参之后,L.val="+L.val);}static void Fun(LinkNode L){L.val = 999;}
}

在这里插入图片描述
像这样在一个函数的参数列表中传入一个对象,并且在函数内部修改传入对象的属性,会发现在函数外部的对象属性也发生了变化,这就是典型的引用传递。

🎉 值传递的情况

class LinkNode{int val;LinkNode next;LinkNode(){}LinkNode(int val,LinkNode next){this.val = val;this.next = next;}
}class Main{public static void main(String[] args) {LinkNode L = new LinkNode(666,null);System.out.println("传参之前,L.val="+L.val);Fun(L);System.out.println("传参之后,L.val="+L.val);/* 新增代码 */Fun2(L);System.out.println("传参之后,L.val="+L.val);}static void Fun(LinkNode L){L.val = 999;}/* 新增代码 */static void Fun2(LinkNode L){LinkNode l = new LinkNode(111,null);L = l;}
}

这段代码在原先代码的基础上,增添了Fun2()函数,代码中也注释了新增的部分,此时如果我们沿用之前的观点,认为传对象是引用传递,那么在 Fun2(L) 函数内部,L = l;这条语句将对象L的引用更改了,那么在函数外部的L的引用应该也要更改,那么此时打印 L.val应该是111才对,但是实际运行结果如图:
在这里插入图片描述
可见引用的修改只在函数内部成立,在外部不成立,要想修改函数外部L的引用,必须在函数内部手动返回L,并将其赋值给函数外的L,着不就是妥妥的值传递吗?

🎉 解释

先说结论,传对象就是“值传递”。

其实要解释“引用传递“的假象也很简单,我们传入对象实际上传的是对象的引用的副本,也就是值传递,但是这个副本和原对象指向的同一个内存空间,因此,借助副本修改对象的属性和使用原对象修改对象的属性是完全等效的,因为操作的是同一个内存空间。

但是如果我们在函数内部直接对对象的副本进行赋值,就不会影响原对象,因为二者的内存空间不是同一个。

由此可见,对象虽然是引用数据类型,但是传入函数中依然是值传递,因此我们要明确在函数内部操作的内存空间和函数外对应的内存空间是不是一致的,只有一致的情况下,在函数内的修改才会影响函数外,否则不影响。

http://www.yayakq.cn/news/606745/

相关文章:

  • 荆州网站开发北京企业网站备案
  • 专业烟台房产网站建设网站手机端跳转页面模板
  • net网站建设多少前全球十大室内设计公司排名榜
  • 菜鸟教程网站首页制作seo新手教程
  • 艺梵科技 网站建设wordpress酒吧
  • 网站维护服务基本内容电商网站毕业设计论文
  • 北京市建设工程造价管理处 网站博兴做网站
  • 查看网站建设时间网站建设的进度安排和人员安排
  • wordpress企业网站插件wordpress照片记录模板
  • 促销策略的四种方式百度seo公司
  • 外贸网站如何制作成免费crm知乎
  • 应不应该购买老域名建设新网站ai生成logo免费
  • 深圳精品网站制作网页图片保存
  • 12306网站开发笑话中国菲律宾时差
  • 多梦主题建设的网站西安网站策划
  • 江门网站建设硬件设备怎样建个自己的网站
  • php网站开发流程图建筑室内设计公司排名
  • 企业为什么做网站网页设计流程是什么
  • 摄影瀑布流网站模板从哪方面建设网站
  • 手机网站微信登录接口网络舆情分析案例
  • 建站之星官方网站网站建设相关资讯
  • 网站开发设计大赛百度快照入口
  • 落地页网站建设网站建设与程序编辑
  • 城阳区网站建设公司鄂尔多斯住房和城乡建设局网站
  • 网站建设好不好网站加速优化
  • 网站费用多少c++可视化界面设计
  • 网站推广服务算中介吗校园推广方案
  • 烟台网站建设加企汇互联专业公众号怎么制作滑动照片
  • 网站建设 做个网上商城要多少钱啊网站建设三亚
  • 网站设计遵循的原则无障碍插件wordpress