Java 函数传入参数后,究竟发生了什么?java函数传参数原理解析
JAVA函数在传入参数A时,会在函数作用周期内生成一个与参数相同类型的局部变量B.
B与A指向同一块内存区域,并且具有相同的名字如param. 在函数内所有对param的操作都是对B的操作。
对B进行赋值操作就会改变B所指向的内存区域,则B和A就指向不同的内存区域了。
如果B是基础类型,则就只有赋值操作了。
如果B是对象类型,则可以进行赋值操作,还可以进行改成员属性的操作。如果没有对B进行过赋值操作,则B仍然是和A一样指向同一块内存,这时改B的成员,就会同时改A的成员。
B与A指向同一块内存区域,并且具有相同的名字如param. 在函数内所有对param的操作都是对B的操作。
对B进行赋值操作就会改变B所指向的内存区域,则B和A就指向不同的内存区域了。
如果B是基础类型,则就只有赋值操作了。
如果B是对象类型,则可以进行赋值操作,还可以进行改成员属性的操作。如果没有对B进行过赋值操作,则B仍然是和A一样指向同一块内存,这时改B的成员,就会同时改A的成员。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
faiss简单测试方法
Echo寶貝兒
2024-04-28 14:29:59
WPF & Prism
君莫笑-93
2024-04-28 14:25:08
一个库帮你轻松的创建漂亮的.NET控制台应用程序
追逐時光
2024-04-28 14:22:48
35K*14 薪,入职了!这公司只要不裁员,我能一直呆下去!
Java技術棧
2024-04-28 14:22:17
Python 潮流周刊#48:Python 3.14 的发布计划
豌豆花下貓
2024-04-28 14:20:07
gpu机器没有开启ipv6
馬昌偉
2024-04-28 14:14:47
VS2008 LIB的升级改造
孤獨的貓
2024-04-28 14:14:06
Windows平台NASM汇编与C混合调用
孤獨的貓
2024-04-28 14:14:06
程序员想通过产品挣钱,首先你产品的目标客户得不差钱 (在线客服系统外传1)
heng.chao
2024-04-28 14:14:06
springboot~redis的hash结构为key设置过期策略
張佔嶺
2024-04-28 14:13:26
如何开发一个符合人性的机器人通知功能
ffl
2024-04-28 14:09:16
【转】[WPF] 复制文本到剪贴板
z5337
2024-04-28 14:05:45