如何传递参数到Java函数?
发布时间:2023-07-01 14:58:33
在Java中,传递参数到函数通常有三种方式:传值调用、传引用调用和传地址调用。
1. 传值调用:基本数据类型的值被复制并传递给函数。在函数中对参数的修改不会影响调用者的变量。例如:
public void modify(int num) {
num = 10;
}
public static void main(String[] args) {
int num = 5;
modify(num);
System.out.println(num); // 输出5
}
2. 传引用调用:对象作为参数传递给函数时,实际传递的是引用的副本。修改引用所指向的对象的属性或调用引用的方法,会影响原始对象。例如:
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public void modify(Person person) {
person.setName("John");
}
public static void main(String[] args) {
Person person = new Person("Alice");
modify(person);
System.out.println(person.getName()); // 输出John
}
3. 传地址调用:数组作为参数传递给函数时,传递的是数组对象的地址,可以修改数组的内容。例如:
public void modifyArray(int[] arr) {
arr[0] = 10;
}
public static void main(String[] args) {
int[] arr = {1, 2, 3};
modifyArray(arr);
System.out.println(arr[0]); // 输出10
}
除了以上三种方式外,还可以使用Java中的可变参数(Varargs)来传递不确定数量的参数。例如,一个函数可以接收多个整数参数:
public void sum(int... numbers) {
int total = 0;
for (int num : numbers) {
total += num;
}
System.out.println("Sum: " + total);
}
public static void main(String[] args) {
sum(1, 2, 3); // 输出6
sum(4, 5, 6, 7); // 输出22
}
总结起来,Java中可以通过传值调用、传引用调用、传地址调用和可变参数等方式来传递参数到函数,根据需要选择合适的方式。
