JAVA中字符串和数组作为函数参数 分别是如何传递的

比如说谁帮我理解下下面的代码啊?谢谢!publicclassTest01{Strings=newString("good");String[]ss={"aaa"};pub... 比如说谁帮我理解下下面的代码啊?谢谢!
public class Test01 {
String s = new String("good");
String[] ss = {"aaa"};

public void m_method(String str,String[] sa) {
str = "bad";
sa[0]="bbb";
}

public static void main(String[] args) {
Test01 t1 = new Test01();
t1.m_method(t1.s,t1.ss);
System.out.println(t1.s+t1.ss[0]);
}

}
这道题 的输出是goodbbb
我想知道为什么?
展开
 我来答
zl_leizi
2009-07-23 · 超过16用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:67万
展开全部
字符串作为值来传递,数组作为对象传递

值传递是不改变原来属性的值的。
所以结果是:goodbbb

String 确定是值传递,。

楼下的高级经理怎么来的?????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freish
2009-07-17 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2694万
展开全部
String是类,数组也是类,引用传递了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daodiba3
推荐于2017-11-27 · TA获得超过588个赞
知道小有建树答主
回答量:1236
采纳率:0%
帮助的人:467万
展开全部
public class Test01 {//新建一个类
String s = new String("good");//创建一个对象名字为s内容为good
String[] ss = {"aaa"};//创建一个名为ss的数组只有1个数量内容为aaa

public void m_method(String str,String[] sa) {//设置一个公共的无返回值的名为m_method的函数 ()里面是参数
str = "bad";//把bad赋值给str
sa[0]="bbb";把bbb赋值给sa的第一个数组对象
}

public static void main(String[] args) {//程序入口
Test01 t1 = new Test01();//在Test01里创建一个名为t1的对象
t1.m_method(t1.s,t1.ss);//对象t1调用test01的m_method函数,t1.s也就是test01类的s也就是good作为第一个参数,t1.ss也就是test01类里面的ss也就是aaa作为第二个参数进行运行
System.out.println(t1.s+t1.ss[0]); //输出t1.s的值和t1.ss[0]的值;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式