输出结果:
update方法中user:User(id=1)main方法中user:User(id=1)
可以看出update方法修改user对象的属性,main方法中user对象也跟着变了 。

文章插图
这是不是说明Java支持引用传递呢?
并不是 。这里在参数传递的过程中,只是把实参的地址拷贝了一份传递给形参 , update方法中只修改了参数地址里面的内容,并没有对形参本身进行修改 。
4. 总结经过上述分析,Java参数传递中 , 不管传递的是基本数据类型还是引用类型,都是值传递 。
当传递基本数据类型,比如原始类型(int、long、char等)、包装类型(Integer、Long、String等),实参和形参都是存储在不同的栈帧内,修改形参的栈帧数据,不会影响实参的数据 。
当传参的引用类型,形参和实参指向同一个地址的时候,修改形参地址的内容,会影响到实参 。当形参和实参指向不同的地址的时候 , 修改形参地址的内容,并不会影响到实参 。
我是「一灯架构」,如果本文对你有帮助,欢迎各位小伙伴点赞、评论和关注,感谢各位老铁,我们下期见

文章插图
【死磕面试系列,Java到底是值传递还是引用传递?】
推荐阅读
- Java集合精选常见面试题
- Redis系列9:Geo 类型赋能亿级地图位置计算
- RTX40系列价格_RTX40系列显卡价格
- [Android开发学iOS系列] Auto Layout
- CH58X服务修改
- 0 二 C# 语法分析器LR 语法分析
- iphone13系列价格_iphone13全系列价格
- 百雀羚帧颜霜孕妇可以用吗_百雀羚帧颜系列孕妇可以用吗
- vivoT1值得买吗_vivoT1值不值得买
- 六 Selenium4+Python3系列 - Selenium的三种等待,强制等待、隐式等待、显式等待