Java 值传递和引用传递的区别

文章来源

一、值传递就是传递基本数据类型.

例如如下的i,由于范围的原因无法得到改变。

package opp.passByRefrence;

public class demo {
    //值传递
    public static void main(String[] args) {
        int i = 1;
        System.out.println("传递前:" + i);
        change(i);
        System.out.println("传递后:" + i);
    }

    public static void change(int i) {
        i = 10;
    }
}

这就是值传递

在这里插入图片描述

输出结果

传递前:1
传递后:1

二、引用传递就是传递对象,类的属性。

引用传递传递对象,可以用于修改类的属性代码如下

package opp.passByRefrence;

public class demo {
    //值传递
    public static void main(String[] args) {

        Change change = new Change();
        System.out.println("传递前:" + change.i);
        //传递对象
        change(change);
        System.out.println("传递后:" + change.i);
    }

    public static void change(Change change) {
        change.i = 2;
    }
}

class Change {
    int i;
}

这就是引用传递

在这里插入图片描述

输出结果
传递前:0
传递后:2
发布了56 篇原创文章 · 获赞 2 · 访问量 497

猜你喜欢

转载自blog.csdn.net/jarvan5/article/details/105455825