java啥时候是值传递啥时候是引用传递
时间: 2023-11-04 10:15:01 浏览: 92
java参数传递时到底是值传递还是引用传递分享.pdf
在Java中,当传递的参数为基本数据类型(如int、double)时,是值传递,而当传递的参数为对象类型时,是引用传递。
值传递是指将参数的值复制一份传递给方法,方法中对这个值的修改不会影响原始值。比如:
```
public static void changeValue(int a) {
a = 10;
}
int b = 5;
changeValue(b);
System.out.println(b); // 输出 5
```
引用传递是指将参数的引用(地址)复制一份传递给方法,方法中对这个对象的修改会影响原始对象。比如:
```
public static void changeValue(Student s) {
s.setName("Tom");
}
Student stu = new Student("Jack");
changeValue(stu);
System.out.println(stu.getName()); // 输出 Tom
```
在上面的例子中,虽然传递的是对象类型的参数,但是实际上传递的是对象的引用(地址),所以在方法内部修改了对象的属性,会影响原始对象的属性。
阅读全文