当先锋百科网

首页 1 2 3 4 5 6 7

在Java中,存在两种传递参数的方式:引用对象和值传递。

引用对象指的是将指针传递给方法,方法内对该对象的改变会影响到原对象。值传递指的是将对象的拷贝传递给方法,对该对象的改变不会影响到原对象。

public class Main {
public static void main(String[] args) {
// 引用对象
String str = "Hello";
System.out.println("Before method: " + str);
passReference(str);
System.out.println("After method: " + str);
// 值传递
int num = 5;
System.out.println("Before method: " + num);
passValue(num);
System.out.println("After method: " + num);
}
public static void passReference(String str) {
str += " World";
System.out.println("Inside method: " + str);
}
public static void passValue(int num) {
num += 5;
System.out.println("Inside method: " + num);
}
}

运行以上代码,输出结果为:

Before method: Hello
Inside method: Hello World
After method: Hello World
Before method: 5
Inside method: 10
After method: 5

可以看到,当传递的参数为引用对象时,方法内的改变会影响到原对象;而当传递的参数为值传递时,方法内的改变不会影响到原对象。