分类：电脑/网络-程序设计
问题：两道JAVA题，谁来给我解释一下，稍微详细点的 
回答：你这一行public void change(String  ar ch[])应该为public void change(String str, char ch[])输出结果为goodandgbc最接近的答案选B Java的参数传递方式是值传递，当参数是简单类型时，不改变参数的值；当参数是引用类型时,不改变这个对象的引用。change()的参数str和ch[]都是引用类型，在类Example中str指向"good"的地址，ch[]指向ch[]的地址，使用str="test ok"后在change()内str指向"test ok"，但在类中str仍指向"good"，而ch[0]仍指向ch[0]，因为String与StringBuffer不同，改变它的值实际上是改变了它指向的内存地址(新开辟)，但由函数返回时仍指向原地址。