值传递和引用传递

值传递和引用传递

值传递

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  阅读(56)  评论(0)    收藏  举报