java如何传实参
传递实参的基本方式
在Java中,实参(实际参数)通过方法调用传递给形参(形式参数)。传递方式取决于参数的类型:基本数据类型(如int、double等)或引用类型(如对象、数组)。
基本数据类型通过值传递(pass by value),传递的是变量的副本,方法内对参数的修改不会影响原始变量。引用类型通过引用值传递(pass by reference value),传递的是对象引用的副本,方法内对对象属性的修改会影响原始对象,但重新赋值引用不会影响原始引用。
基本数据类型传参示例
public class Main {
public static void modifyValue(int value) {
value = 100; // 修改不影响原始变量
}
public static void main(String[] args) {
int num = 50;
modifyValue(num);
System.out.println(num); // 输出50
}
}
引用类型传参示例
public class Main {
public static void modifyArray(int[] arr) {
arr[0] = 100; // 修改会影响原始数组
}
public static void main(String[] args) {
int[] array = {50};
modifyArray(array);
System.out.println(array[0]); // 输出100
}
}
可变参数(Varargs)
Java支持可变参数,允许方法接受不定数量的参数。可变参数本质上是一个数组。
public class Main {
public static void printNumbers(int... numbers) {
for (int num : numbers) {
System.out.println(num);
}
}
public static void main(String[] args) {
printNumbers(1, 2, 3); // 输出1 2 3
}
}
方法重载与参数传递
Java支持方法重载,即多个方法同名但参数列表不同(类型、数量或顺序)。调用时根据实参类型匹配最合适的方法。

public class Main {
public static void print(int num) {
System.out.println("int: " + num);
}
public static void print(String str) {
System.out.println("String: " + str);
}
public static void main(String[] args) {
print(10); // 调用print(int)
print("Hello"); // 调用print(String)
}
}
参数传递的注意事项
- 基本数据类型传递的是值的副本,方法内修改不影响原始变量。
- 引用类型传递的是引用的副本,方法内修改对象属性会影响原始对象,但重新赋值引用不会影响原始引用。
- 可变参数提供灵活性,但一个方法只能有一个可变参数,且必须是最后一个参数。






