Java只有值传递:基本类型传数值副本,引用类型传引用值(地址)副本;方法内可修改对象内容但无法改变实参变量的指向。

Java 只有值传递:传的是变量的值——基本类型传数据副本,引用类型传地址副本(即对象引用的拷贝),方法内无法改变实参变量本身指向。
一、紧扣“值传递”的本质
Java 所有参数传递都是“值传递”,不存在引用传递。所谓“引用传递”是常见误解——实际传递的是引用变量中存储的那个地址值的拷贝,不是对象本身,更不是变量的内存地址。
二、分两类说清,不绕弯
• 基本类型(如 int、boolean):传的是真实数值的副本,修改不影响原变量。
• 引用类型(如 String、ArrayList、自定义对象):传的是“指向对象的引用值”的副本;能通过该引用来修改对象内容(如 list.add()),但若在方法内让引用指向新对象(如 obj = new A()),不会影响外部实参变量的指向。
三、一句话收尾,强化记忆点
“你传进去的从来不是对象,也不是变量本身,而是那个‘值’——要么是数字,要么是地址;改它的副本,改不了原来的那个盒子。”


















