值传递和引用传递分别指什么呢?
下文笔者将讲述“值传递和引用传递”的简介说明,如下所示
值传递
对象作为值传递(pass by value): 会传递对象一个副本 当修改对象副本 也不会影响源对象中的值
引用传递
对象作为引用传递(pass by reference): 传递的并不是实际的对象,而是对象的引用 因此,外部对引用对象所做的改变会反映到所有的对象上
Java是值传递还是引用传递
当传的是基本类型时,传的是值的拷贝 对拷贝变量的修改不影响原变量; 当传的是引用类型时,传的是引用地址的拷贝, 但是拷贝的地址和真实地址指向的都是同一个真实数据 因此可以修改原变量中的值 ----------------特定情况说明-------------------------- 当传String类型时,虽然拷贝的也是引用地址,指向的是同一个数据 但是String的值不能被修改,因此无法修改原变量中的值
Java中值传递和引用传递的示例分享
package com.java265.other; public class TestAnimal { /** * Java265.com 值传递和引用传递的示例分享 */ public static void main(String[] args) { int i = 9; // 值传递的示例 change(i); System.out.println("i:" + i); System.out.println("===================="); Test20230618 test222 = new Test20230618(); test222.setI(90); // 引用传递 change2(test222); System.out.println("test.i:" + test222.i); } public static void change(int i) { i = i + 1; } public static void change2(Test20230618 t) { t.i = t.i + 1; } } class Test20230618 { int i; public void setI(int i) { this.i = i; } public int getI() { return this.i; } public Test20230618() { } } =======运行以上代码,将输出以下信息============== i:9 ==================== test.i:91
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。