tnblog
首页
视频
资源
登录

方法的参数传递

3013人阅读 2022/5/3 16:29 总访问:1091160 评论:0 收藏:0 手机
分类: JavaEE

                基本数据类型
1、如下案例

最终输出的结果都为:100

原因
1、第一次输出为100,这个没什么好纠结的,如下所示

2、当代码输出第一个100时会继续往下执行到change(number)时,此时它会在栈内存里面把change(number)压进去,而change(number)有个形参
该形参也是int number,注意change方法里面的number和main方法里面的number不是同一个,当change(number)执行完后它会从栈内存弹出,change的形参它其实根本没影响到main方法里面的number这个实参。所以第二次输出的还是100。

change方法和第二次输出的执行过程如下

                引用数据类型
1、方法如下

第一次输出20,没什么好纠结的
2、当方法执行到change(arr)时,栈内存里面也会有一个名为arr int类型的数组变量,但是change(arr)里面传的形参指向的是main方法里面arr在堆内存的空间地址,无论是main方法还是change方法里面的arr指向的堆内存地址都是同一个地方,即使change方法弹出了栈,但是change方法对arr的影响依旧存在。
所以第二次输出为200。
如下图:
a图:

b图

评价
没有个性,不需要签名
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术