在这个问题上,不同的人有不同的理解。对于Java初学者来说,他们可能认为Java中的参数传递分为值传递和引用传递。至于为什么,教科书上说了。对于程序员的某些工作年限,他们可能会认为,如果传递的参数类型是普通类型,则传递的是值;如果参数是对象,则传递的是引用。另一些人认为,只有Java中的值传递才是主要问题的主题。
对于Java编程语言,前两种理解是错误的。Java中只使用值传递。对我来说,一开始,我也理解了价值传递和参照传递的理论,但随着自己代码的积累,我逐渐发现事实并非如此。那么为什么只有价值传递呢?
首先,让我们了解什么是值传递,什么是引用传递?
值传输意味着调用函数时,实际参数值被复制并传递给被调用函数。修改被调用函数中的参数值不会影响原始参数值。
引用传递意味着调用函数时,实际参数的地址直接传递给被调用函数。修改被调用函数中的参数值将影响原始参数值。
如果传递的参数类型是普通基本类型,则必须复制实际参数值并将其传递给形式参数。但是,当参数类型是对象时,它也是复制的参数值,并将其传递给形式参数。只复制对象的引用地址,即内存中分配的存储地址,而不是直接传递的引用地址。
此时,有些人可能会问为什么一个对象会被传递给另一个方法。在此方法中修改对象的属性值时,原始调用方法中对象的属性值将更改。这不就是参考传递吗?
事实上,这是一个非常令人困惑的问题。如果你仔细看看上面的说法,事实并非如此。将一个对象传递给另一个方法会传递什么?传递对象引用的地址。对象引用的地址是否已在其他方法中修改?原始对象引用是否受影响?不
!因此,Java中没有引用传递,只有值传递。不要犯任何错误
差异主要体现在函数传入参数时的基本数据类型上。因为这些变量的值存储在内存中的一个地址中,调用函数中的形式参数是形式参数值的变化,复制这些变量的值后,原始变量的值不会受到影响,但是引用数据类型指的是内存地址,而不是内存中的特定值,因此调用函数中的形式参数是复制这些变量值的地址。当形式参数的值被修改时,它和修改这些变量的值是一样的,所以原始变量的值会受到影响
怎样用SQL语句查询一个数据库中的所有表?SQL查询所有表名:从sysobjects中选择名称,其中type=“U”select*from informationU架构表2. 查询表的所有字段名:select name from sysco
变色龙怎么才能变色?变色龙皮肤下有三种色素组织:绿色、蓝色和灰色。绿色和蓝色色素组织为长梭形,垂直于皮肤,广泛分布于皮肤下方;灰色色素组织位于绿色和蓝色色素组织下方,平行于皮肤。变色龙变色的原理在于绿色和蓝色色素组织的变化。当绿色纺锤状色素
华为手机怎么下载农村淘宝软件?您可以在手机上下载一个应用程序,然后进入并单击该应用程序,然后在搜索栏中搜索淘宝软件。会有农村淘宝软件,可以直接下载安装。此外,应用程序中还有很多应用程序,种类齐全,操作方便。您可以随时下载并安装它们。此外,在
现在的网页设计默认的尺寸做多大的?网页设计合适的尺寸,已经改变了很多,不需要担心不同设备尺寸的问题,在目前的主流形式中,有以下几种:1、PC端网页设计草稿尺寸是1920px宽,最小高度是1080px,主要内容在1200px就行了,比较标准。
网站的源码和模板有什么区别?源代码是源代码,也是源程序,一般包括全站,包括数据库。Template只是网站程序的模板,或者前台程序的模板,所以两者是不同的,比如dedecms是网站的源代码,但是很多在此基础上开发的dedecms模板可以直接
oracle DBA需要掌握哪些技巧?要成为一名优秀的DBA,除了数据库本身的技术能力外,还要掌握操作系统、网络、虚拟化、存储。。。因为它的许多领域是相互联系、密不可分的!数据库技术:您需要了解以下几个方面第一:SQL语句和PLSQL语句第
用自己的域名,解析指向到别人的网站,应该怎么设置?Ping站点查看IP,如果其他站点可以直接使用IP访问(即该站点是该IP的默认站点),则直接将您的域名解析为该站点的IP。但很少见。您也可以使用框架框架,即您使用自己的域名制作页面,将框架1
烟草怎么在网上订货?
ddwrt中继设置方法?不要填写这个。否,返回下面的“ddwrt”状态。这种方法与上述方法的区别在于本地和远程
域名出售平台哪家好?域名是什么?可以自由买卖吗?你好,康大哥,让我们来回答这个问题。网站由域名和空间组成。如果我们把网站看作一家公司,那么空间可以理解为你公司的大小,你工作的所有东西都存放在那里。域名是你公司的地址。当你乘出租车去上班时,你