基本数据类型和引用数据类型的值传递
时间: 2023-09-12 17:10:47 浏览: 98
值传递和引用传递
在Java中,基本数据类型和引用数据类型的值传递方式是不同的。
1. 基本数据类型的值传递
基本数据类型包括byte、short、int、long、float、double、char和boolean。在方法中将基本数据类型传递给另一个方法时,实际上传递的是该值的副本。也就是说,虽然在调用方法时传递的是变量的值,但是在方法中对该值的任何修改都不会影响到原来的变量。
例如:
```java
public class Main {
public static void main(String[] args) {
int a = 10;
changeValue(a);
System.out.println(a);
}
public static void changeValue(int a) {
a = 20;
}
}
```
上述代码中,changeValue方法并未改变原变量a的值,因此输出结果为10。
2. 引用数据类型的值传递
引用数据类型包括数组、类、接口、枚举等类型。在方法中将引用数据类型传递给另一个方法时,实际上传递的是该引用的副本,也就是说,副本和原引用指向的是同一个对象。因此,在方法中对该对象的任何修改都会影响到原来的对象。
例如:
```java
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
changeValue(a);
System.out.println(a[0]);
}
public static void changeValue(int[] a) {
a[0] = 10;
}
}
```
上述代码中,changeValue方法改变了数组a的第一个元素的值,因此输出结果为10。
阅读全文