public class Example { String str = new String("good"); char[] ch = {‘a‘,‘b‘,‘c‘}; public static void main(String[] args) { Example ex = new Example(); ex.change(ex.str, ex.ch); System.out.print(ex.str +"and"); System.out.print(ex.ch); } public void change(String str, char ch[]){ str= "test ok"; ch[0]= ‘g‘; } } // 输出 goodandgbc Java中确实是传值,而不是传引用// 原因:str="test ok" 修改的是局部变量str,而不是类的成员变量str。类的成员变量并没有被修改。这个效果是,在change方法中定义了跟全局变量一样的变量名,被当做局部变量来处理。char ch[]传递的是地址,
时间: 2024-11-13 09:49:24