A-A+

类Test定义如下: public class Test{ public static vo

2022-08-12 20:01:31 问答库 阅读 197 次

问题详情

类Test定义如下: public class Test{ public static void main(String args[]) { String sty=new String("abcde"); char ch[]={A,B,C,D,E}; ml(str,ch); System.out.print(str+","); System.out.println(ch); } public static void ml(String s,char ch[]) { s="Hello"; ch[3]=Z; } } 那么程序的执行结果为:【 】


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:abcdeABCZE
main()方法中的变量str中存放的是String对象"abcde"的内存空间引用,所以引用类型在进行参数传递时,是将引用拷贝给形式参数s。m1()方法中的s="Hello"会使s引用一个新的字符串,但是main()方法中的str还是引用着String对象"abcde"。所以打印结果应为abcde,ABCZE。

考点:定义