java 值传递 引用传递 为什么说java里面只有值传递?

为什么说java里面只有值传递?

在这个问题上,不同的人有不同的理解。对于Java初学者来说,他们可能认为Java中的参数传递分为值传递和引用传递。至于为什么,教科书上说了。对于程序员的某些工作年限,他们可能会认为,如果传递的参数类型是普通类型,则传递的是值;如果参数是对象,则传递的是引用。另一些人认为,只有Java中的值传递才是主要问题的主题。

java 值传递 引用传递 为什么说java里面只有值传递?

对于Java编程语言,前两种理解是错误的。Java中只使用值传递。对我来说,一开始,我也理解了价值传递和参照传递的理论,但随着自己代码的积累,我逐渐发现事实并非如此。那么为什么只有价值传递呢?

首先,让我们了解什么是值传递,什么是引用传递?

值传输意味着调用函数时,实际参数值被复制并传递给被调用函数。修改被调用函数中的参数值不会影响原始参数值。

引用传递意味着调用函数时,实际参数的地址直接传递给被调用函数。修改被调用函数中的参数值将影响原始参数值。

如果传递的参数类型是普通基本类型,则必须复制实际参数值并将其传递给形式参数。但是,当参数类型是对象时,它也是复制的参数值,并将其传递给形式参数。只复制对象的引用地址,即内存中分配的存储地址,而不是直接传递的引用地址。

此时,有些人可能会问为什么一个对象会被传递给另一个方法。在此方法中修改对象的属性值时,原始调用方法中对象的属性值将更改。这不就是参考传递吗?

事实上,这是一个非常令人困惑的问题。如果你仔细看看上面的说法,事实并非如此。将一个对象传递给另一个方法会传递什么?传递对象引用的地址。对象引用的地址是否已在其他方法中修改?原始对象引用是否受影响?不

!因此,Java中没有引用传递,只有值传递。不要犯任何错误

为什么Java只有值传递,但C# 既有值传递,又有引用传递,这种语言设计有哪些好处?

它有效地避免了变量复制的开销。例如,如果参数是一个复杂的结构,那么使用引用传递比直接传递要好,并且性能会有优势。

至于为什么Java不提供这样一种引用传递机制,这可能是Java语言设计者的一个思想问题,可能是保持它的简单和统一。例如,Java中没有多重继承的概念,但多重继承可以在C中实现,Java中没有定义自定义值类型的方法。由于Java中的所有自定义类型都是引用类型,因此这种语法非常有限,不支持它是正常的。

和C#提供了这样一种机制,这也是语言设计者的想法。它可以根据如何方便用户的初衷进行设计。C#最初是为了取代C来开发Win32。在许多MFC被用于WinForm之前。C语言的出现使WinForm的开发变得简单快捷。我个人认为C语言设计非常先进和优秀。

标签:

最新文章

  1. 南昌地铁开通了吗(南昌的地铁什么时候通车?)2025-03-23
  2. ie11怎么阻止广告2025-03-14
  3. 网站域名到期 倒卖域名挣钱,可靠吗?2025-03-26
  4. 邢台配货站(邢台物流园区有哪几个?)2025-03-25
  5. 支付宝5元话费哪里可以充值2025-03-15
  6. 苹果引导式访问怎么突然用不了了 苹果13引导模式开启后用不了?2025-03-21
  7. 上海大金空调 格力为何和大金分道扬镳了?2025-03-25
  8. 概要设计和详细设计区别 如何制作网站?2025-03-31
  9. 房地产网络营销 房地产如何进行线上营销?2025-03-17
  10. 如何将stata数据转化为excel stata怎么把第一行设置为变量名?2025-03-18
  11. 淘宝联盟pid获取 PID是什么,怎样获取及查看自己的PID?2025-04-01
  12. 酷狗铃声动态铃声怎么取消 酷狗本地歌曲怎么弄成闹铃?2025-03-21
  13. 性格分析 你觉得学习网页设计怎么样?2025-03-26
  14. Word表格操作技巧:合并单元格2025-03-08
  15. excel表格中如何按姓名笔画排列 excel怎么按姓名排序?2025-03-10
  16. 排骨冬瓜汤能放红枣吗(冬瓜红枣排骨汤的家常做法?)2025-03-19
  17. 使用高级C语言解决数学问题2025-03-07
  18. ps怎么把图片整齐排列 ps堆栈使用方法?2025-03-24
  19. PS软件中曲线工具的多功能用途2025-03-11
  20. 域名如何购买 有了IP地址,还要域名干什么?2025-04-01
  21. 拼多多的话费充值券怎么用 拼多多话费充值券使用方法2025-03-14
  22. 黑暗料理啥意思,什么是黑暗料理?2025-03-24
  23. vivo手机怎么退出原有账号 vivo登录账号怎么取消?2025-03-14
  24. 房子抵押能查到吗 房产被抵押后可以查到吗?2025-03-22
  25. phpstudy启动后就停止 如何解决PHPstudy运行时80端口被占用问题?2025-03-30
  26. 罗汉鱼只喂饲料可以吗(罗汉鱼成长过程只吃饲料行吗?)2025-03-25
  27. ps教程自学网 学seo好找工作吗?前景如何?2025-03-29
  28. ps中画板工具使用教程 ps怎么把画板导出为ppt?2025-03-12
  29. 武威的这家贫困户究竟怎么了 武威凉州区扶贫建房补贴多少?2025-03-21
  30. python基础教程 python怎么运行py文件?2025-03-30
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 魅族官网登录 网站首页如何优化?

    网站首页如何优化?网站主页的重要性不言而喻。当用户浏览网站时,首先看到的是网站的主页。它不仅向用户传达了网站有价值的内容和核心,也吸引了用户长期留在网站上。因此,在网站优化的过程中,一定要注意网站主页的优化。网站主页的导航是将网站整体分类,

  2. 2 中环股份最新消息 南网能源、中环股份、太阳能、特变电工,谁是光伏弯道超车老大?

    南网能源、中环股份、太阳能、特变电工,谁是光伏弯道超车老大?从长远来看,我们看好中环。毕竟,TCL一直在增持,表明市场确实认可210块硅片。现在中部的趋势与当时的龙脊非常相似。中环光伏是国企还是私企?国有企业属于国有企业,因为中环股份属于中

  3. 3 app界面设计模板 有哪些好的设计素材模板网站?

    有哪些好的设计素材模板网站?前途网: 58 pic.com网站中国最大的免费材料网站。我们的网站:ooopic.com网站商用模板。趵突网:ibaotu.com网站免费商业模板。千库:588酷网自由元素背景模板库。图片网站:699pic.c

  4. 4 域名查询 域名对seo有什么影响?

    域名对seo有什么影响?域名是网站的地址,是用户对网站的第一印象。用户能否快速记住域名对于网站的发展至关重要。那么,域名对SEO有什么影响?1. 域名长度对搜索引擎优化的影响域名就像一个指路牌。它可以引导蜘蛛抓取网站,用户也可以通过域名直接

  5. 5 淘宝小说 新手怎么开网店?

    新手怎么开网店?其实淘宝网店注册很简单。很多店主都分享过。只要有自己的身份证和年龄,就可以开淘宝。关键是如何开店。其实,无非是三个方面:技术操作、产品供应和售后服务。这三方面只要准备充分,网店的话也很容易做到。首先是技术操作,因为开网店之后

  6. 6 javascript 自学JAVA应该怎么规划?

    自学JAVA应该怎么规划?这是一个非常好的问题。作为一名计算机专业的教育工作者,让我谈谈我的看法。首先,本科生应该重视编程语言的学习。Java作为一种比较流行的全场景编程语言,在未来的工业互联网时代仍有很好的应用前景,相关的帖子也很多。编程

  7. 7 优秀网站网页设计 设计师们经常逛的网站有哪些?

    设计师们经常逛的网站有哪些?我是毛摄影。我已经设计了8年了。我曾经是一家4A广告公司的设计总监。现在我是一个自由设计师,摄影师和自媒体人。我来回答。设计师经常访问哪些网站?有8个必要的网站,这是国内和国外。优秀设计网站:国内知识学习网站,您

  8. 8 湖南企业信息公示系统 传统企业官方网站如何改版?

    传统企业官方网站如何改版?建议外包,因为他们是专业的,有定期维护。对于一家公司来说成本并不高

  9. 9 永久域名注册 如何注册域名?域名注册平台哪家强?

    如何注册域名?域名注册平台哪家强?谢谢你的邀请。我自己也有几个域名。如果想购买域名,建议选择规模相对较大的IDC服务商。早些年,中国最大的域名贸易公司是万旺。后来,万网被阿里巴巴云收购。所以现在最大的域名联系服务商是阿里云。接下来,您可以选

  10. 10 ios转场动画 为什么苹果过渡动画比安卓的看起来流畅?

    为什么苹果过渡动画比安卓的看起来流畅?帧数更稳定。动画是如何产生的?通过多帧的组合和连接,像翻一本书一样,可以快速切换图像的形成。Android的动画帧数较少,而IOS的动画帧数较多。简而言之,IOS只有1到9,而Android只有1357

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图