结论:只有值传递!很多人误解引用类型是 “引用传递”,其实是传递了 “引用的副本(地址值)”。
比如传 int 时,复制值给方法参数,修改参数不影响原变量;传对象时,复制地址给参数,若修改参数指向的对象内容(如obj.name = "新值"),原对象会变,但修改参数指向(如obj = new Object()),原对象不变。
记住:参数传递本质是 “复制一份值”,区别只在复制的是 “基本类型值” 还是 “地址值”。
结论:只有值传递!很多人误解引用类型是 “引用传递”,其实是传递了 “引用的副本(地址值)”。
比如传 int 时,复制值给方法参数,修改参数不影响原变量;传对象时,复制地址给参数,若修改参数指向的对象内容(如obj.name = "新值"),原对象会变,但修改参数指向(如obj = new Object()),原对象不变。
记住:参数传递本质是 “复制一份值”,区别只在复制的是 “基本类型值” 还是 “地址值”。