引用数据类型的传递
Java中,类本身就是引用数据类型,引用数据类型类似指针。对于传参,对象是传递引用,基本数据类型是传递值。
范例 17-2 在函数中传递基本数据类型
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年6月2日 下午8:49:26
* @Description TODO 在函数中传递基本数据类型
*/
public class P436_17_2 {
public static void main(String[] args) {
int a = 3;
int b = 4;
change(a, b); // 调用方法
System.out.println("a=" + a);
System.out.println("b=" + b);
}
public static void change(int i, int j) { // 交换参数的值
int temp = i; // 完成两个变量值的交换
i = j;
j = temp;
}
}
运行结果:
运行结果
a、b是基本数据类型,在change()方法交换的只是在change里的a、b备份,并不会影响外部的a、b。
范例 17-3 传递引用数据类型
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年6月2日 下午9:03:46
* @Description TODO 传递引用数据类型
*/
public class P437_17_3 {
public static void main(String[] args) {
int[] count = { 1, 2, 3, 4, 5 };
System.out.println("方法执行前count[0]=" + count[0]);
change(count); // 调用change()方法
System.out.println("方法执行后count[0]=" + count[0]);
}
public static void change(int[] count) {
count[0] = 0;
System.out.println("在方法内部count[0]=" + count[0]);
}
}
运行结果:
运行结果
传递的int[]数组是引用数据类型,传的参是个引用,用来指向原数组对象的,改的是同一个数组对象。
思考
引用数据类型的传递,有点晦涩,意会容易,说清很难。
记于2018年6月2日21:21:41
By Yvan