【学习笔记】值传递和引用传递(待更新)

值传递和引用传递

 

1.值传递

值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。

package com.wzt.method;
​
public class Demo05 {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a);   //a的值为1
​
        change(a);   //把a 传入change方法中
        System.out.println(a);   //a的值依旧为1,只是把a传给change,change并没有返回
    }
    public static void change(int a){
        a = 10;
    }
}
​

image-20220716170803242

 

2.引用传递

引用传递:是指在调用函数时,将实际参数的地址传递到函数中,那么在函数中对参数进行修改,将会影响到实际参数

package com.wzt.method;
​
//引用传递: 对象 ,本质还是值传递
public class Demo06 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);   //初始值为null
        change(person);
        System.out.println(person.name);
    }
    public static void change(Person person){
        person.name = "张三";    //这个person.name 在修改Person类的属性name
    }
}
class Person{
    String name;
}

image-20220716171736970

 
posted @ 2022-07-16 17:18  GrowthRoad  阅读(21)  评论(0编辑  收藏  举报