为什么Java只有值传递?
形式参数,是在方法定义阶段,是定义某个函数时使用的参数,用于接收实参传入。例f(x,y)中x和y是形参。 实际参数,是在方法调用阶段,是主调函数调用有参函数时,实际传递的内容。例f(3,7)中3和7是实参。 值传递和引用传递不是简单地通过传递内容区分的。如果是值,就是值传递;如果是引用,就是引用传递。这一理解是不正确的。 值传递,是指在调用函数时将实际参数复制一份传递给函数形参。此时,在函数中对形参做修改,不影响实际参数。 引用传递,是指在调用函数时将实际参数的地址直接传递给函数形参。此时,在函数中对参数做修改,将影响实际参数。 根本区别 在于值传递会创建副本,因此函数中无法改变原始对象;引用传递不创建副本,函数中可以改变原始对象。 public class ParamPassing { private static int intStatic = 222; private static String stringStatic = "old string"; private static StringBuilder stringBuilderStatic = new StringBuilder("old stringBuilder"); public static void main(String[] args) { // 方法调用1 method(intStatic);