Loading

Java传递变量和对象的区别

传递对象

public class Demo03 {
    //引用传递:(实际上还是值传递)对于引用数据类型来说,传递的则是地址的副本(对象的地址)。但由于地址副本和原来的类似,因此传递过去后形参也只想同一个内存空间
    public static void main(String[] args) {
        Person person=new Person();
        System.out.println(person.name);
        Demo03.change(person);
        System.out.println(person.name);
    }

    public static void change(Person person) {
        person.name="牛逼";
    }

}
class Person{
    String name;
}

结果

null
牛逼

传递变量

public class Demo02 {
    //值传递
    public static void main(String[] args) {
        int a =1;
        System.out.println(a);
        Demo02 change=new Demo02();
        change.change(a);
        //对于基本数据类型来说,给形参传递的是实参值的副本。
        System.out.println(a);
    }

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

    }
}

结果

1
1
posted @ 2022-01-16 23:34  Cn_FallTime  阅读(38)  评论(0编辑  收藏  举报