课程
/后端开发
/Java
/Java入门第二季
怎么输出是3呢?show(x)返回的不是4么
2017-04-20
源自:Java入门第二季 8-7
正在回答
这类似于形参和实参,在java中,他们分配在不同区域,形参分配在栈,实参在栈(基本数据类型)或堆(引用数据类型),当实参为基本类型时,就相当于值传递;当为引用类型时为引用值的传递,也就相当于是C里的地址传递了,这时才会输出4呢。
首先你定义的这个静态方法,返回类型是void,表示无返回值。实际上你的这个show(x)在我看来并没有执行。仅仅是你定义了成员变量x=3,然后输出它。如果要让show(x)返回4也行,稍微改一下方法。public static int show(int x){return 4;}这样我觉得结果会是4。我只是理解上认为哈,并没有试过。
这是值传递,不是引用传递,去百度一下这两个之间的区别
慕粉2258416217 提问者
ziom 回复 慕粉2258416217 提问者
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答为什么sum方法中不用传score1,score2参数
1 回答为什么这里的sum方法是无参的,不能用带参的呢?
2 回答静态变量中传参不行吗,为什么报错了呀
4 回答为什么这个静态方法传入参数会报错。而正确答案不需要传入参数
5 回答setScreen方法传入参数时,这样是传入参数到screen中了么?输出screen的值是对的,为什么getScreen得不到这个值呢,得到这个值的过程是怎么运行的呢,谢大佬指点
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号