说明:
引用类型变量做参数时,如果对参数进行修改,则原先对象的值也跟着变化。原因:引用变量做参数时传递的时引用----和原先的引用指向同一个对象,那么如果对参数进行修改,那原先对象的值也跟着变化。
基本数据类型变量做参数时,如果对参数进行修改,原先的变量值不变。原因:基本数据类型作为参数时传递的是值,所以修改参数不会影响传入变量原先的值。
测试代码:
// 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] + " "); }}
测试结果: