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

能解答一下java吗?基础

能解答一下java吗?基础

慕九州6707844 2018-03-27 20:54:32
public class uctest { static void change(String s) { s="www"; } public static void main(String[] args){ String s="hhhh"; change(s); System.out.println("s="+s); }}
查看完整描述

1 回答

已采纳
?
mark_fork

TA贡献11条经验 获得超10个赞

你好程序输出的仍然是"hhhh";

这个是java基础中经常会遇到的面试题,

即java方法参数是 值传递还是 引用传递

答案是:

java方法参数是值传递你给的示例中实参是String s = "hhhh"形参是change(String s) 中的s方法调用的时候是将实参s的引用值 copy 至change 方法中的形参即实参s和形参s现在都指向字符串常量池的"hhhh"字符串当change方法执行完毕后形参s自动释放但实参还是执行"hhhh"的所以最终终端输出的还是"hhhh"而不是"www"。


查看完整回答
3 反对 回复 2018-03-27
  • 1 回答
  • 0 关注
  • 872 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信