2018-06-02学习小结 - 对象的引用与传递2

引用数据类型的传递

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;
    }
}

运行结果:

2018-06-02学习小结 - 对象的引用与传递2_第1张图片
运行结果

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]);
    }
}

运行结果:

2018-06-02学习小结 - 对象的引用与传递2_第2张图片
运行结果

传递的int[]数组是引用数据类型,传的参是个引用,用来指向原数组对象的,改的是同一个数组对象。

思考

引用数据类型的传递,有点晦涩,意会容易,说清很难。


记于2018年6月2日21:21:41
By Yvan

你可能感兴趣的:(2018-06-02学习小结 - 对象的引用与传递2)