Java中方法参数分为形参和实参:形参是定义时的占位符,位于方法声明括号内,为局部变量;实参是调用时传入的具体值。Java只支持值传递,基本类型传值副本,引用类型传地址副本。
Java中方法参数指的是方法与外界交换数据的“接口”。它让方法能接收外部传入的信息,从而实现可复用、可定制的行为。理解参数的关键,在于分清“定义时写的”和“调用时给的”这两类东西——也就是形参和实参。
形参出现在方法声明的小括号里,比如 public static void printName(String name) 中的 name 就是形参。它不指向任何真实数据,只是告诉编译器:“这个方法需要一个 String 类型的输入”。
实参出现在方法调用的位置,比如 printName("张三") 或 printName(userName),这里的 "张三" 或变量 userName 就是实参。它必须是已有确定值的量,可以是字面量、变量、表达式,甚至另一个方法的返回值。
Java官方说法是:所有参数传递都是值传递。区别在于“值”的含义:
别误以为 J
ava 有“引用传递”。虽然操作对象时看起来像共享,但本质仍是传地址值的副本。也别混淆形参和局部变量——它们都存栈上、都局部有效,但形参由调用者初始化,局部变量需自己赋值。