为了账号安全,请及时绑定邮箱和手机立即绑定

传参 为什么不是4呢

怎么输出是3呢?show(x)返回的不是4么http://img1.sycdn.imooc.com//58f8ccc90001165204600326.jpg

正在回答

3 回答

这类似于形参和实参,在java中,他们分配在不同区域,形参分配在栈,实参在栈(基本数据类型)或堆(引用数据类型),当实参为基本类型时,就相当于值传递;当为引用类型时为引用值的传递,也就相当于是C里的地址传递了,这时才会输出4呢。

0 回复 有任何疑惑可以回复我~

首先你定义的这个静态方法,返回类型是void,表示无返回值。实际上你的这个show(x)在我看来并没有执行。仅仅是你定义了成员变量x=3,然后输出它。如果要让show(x)返回4也行,稍微改一下方法。public static int show(int x){return 4;}这样我觉得结果会是4。我只是理解上认为哈,并没有试过。

0 回复 有任何疑惑可以回复我~

这是值传递,不是引用传递,去百度一下这两个之间的区别

1 回复 有任何疑惑可以回复我~
#1

慕粉2258416217 提问者

和形参实参有关系么
2017-04-21 回复 有任何疑惑可以回复我~
#2

ziom 回复 慕粉2258416217 提问者

不是。
2017-04-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

传参 为什么不是4呢

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号