只看不写 2017-10-12 14:30 采纳率: 40%
浏览 818
已采纳

我相信这个问题是没个java大神的必经路

String作为引用变量,为什么在run方法里改变了值,在main方法里却没有改变?图片说明图片

  • 写回答

5条回答 默认 最新

  • legendCoder 2017-10-13 00:51
    关注

    老生常谈的问题了,值传递和引用传递的区别,这里明显是值传递。在main方法中定义的str变量指向test字符串。执行run方法的时候流程是这样的:再创建一个局部变量str,把它赋值为test。注意,此str变量非main函数中的str变量,作用域不同。因此在run方法中改变的是run方法中局部变量str的值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?