说明:
引用类型变量做参数时,如果对参数进行修改,则原先对象的值也跟着变化。原因:引用变量做参数时传递的时引用----和原先的引用指向同一个对象,那么如果对参数进行修改,那原先对象的值也跟着变化。
基本数据类型变量做参数时,如果对参数进行修改,原先的变量值不变。原因:基本数据类型作为参数时传递的是值,所以修改参数不会影响传入变量原先的值。
测试代码:
// Java基本数据类型做参数
public static void basicDateParamter(int a) {
System.out.println("基本数据类型变量做参数时传入的值:\t"+a);
a = 4;
System.out.println("基本数据类型变量做参数修改后的值:\t"+a);
}
// Java引用数据类型(数组、接口、类)做参数
public static void referencedDateParamter(int a[]) {
System.out.println("原先的数组的各元素值:");
for (int j = 0; j < a.length; j++) {
System.out.print(a[j] + " ");
}
// 修改变量值
for (int i = 0; i < a.length; i++) {
a[i] = i;
}
System.out.println("\n修改后数组各元素的值:");
for (int j = 0; j < a.length; j++) {
System.out.print(a[j] + " ");
}
}
/* main方法*/
public static void main(String[] args) {
int a = 8;
int b[] = {2, 9, 1, 4, 5};
basicDateParamter(a);
System.out.println("基本数据类型变量作为参数原先的值:\t"+a);
referencedDateParamter(b);
System.out.println("\n引用变量做参数经修改后,现在的值:\t");
for (int j = 0; j < b.length; j++) {
System.out.print(b[j] + " ");
}
}
测试结果: