值传递和引用传递

1.值传递

package com.oop;

public class Demo01 {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a);

        Demo01.change(a);//调用Demo01类的方法

        System.out.println(a);
    }

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

}

2.引用传递

package com.oop;
//引用传递,本质还是值传递
public class Demo02 {
    public static void main(String[] args) {
        Person person = new Person();

        System.out.println(person.name);

        Demo02.change(person);//引用传递,此时person.name修改的是下面类的name

        System.out.println(person.name);
    }

    public static void change(Person person){
        //person是一个对象:指向的 ---> Person person = new Person();这是一个具体的人,可以改变属性!
        person.name = "小帅";
    }
    //定义了一个Person类,有一个属性:name
    static class Person{
        String name ;//null值
    }

}

posted @ 2022-03-24 22:31  HFUUwzy  阅读(26)  评论(0)    收藏  举报