值传递和引用传递

值传递和引用传递

值传递

package base;

/**
 * java是属于值传递
 */
public class Demo01 {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a);//1
        test(a);
        System.out.println(a);//1
    }

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

引用传递

package base;

/**
 * 引用传递,本质还是值传递,传递过去的是一个对象
 */
public class Demo02 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);//null
        test(person);
        System.out.println(person.name);//张三
    }

    public static void test(Person person){
        person.name = "张三";
    }
}

class Person{
    String name;
}
posted @ 2021-12-09 22:11  Dawn_006  阅读(33)  评论(0)    收藏  举报