值传递和地址传递
区别:
值传递:传递的是数值本身
地址传递:传递的是地址,如果改变地址空间的数据,那么将会影响所有指向该地址的引用空间
举例代码如下:
public class OOPDemo03 {
public static void main(String[] args) {
Student s1 = new Student();
s1.name = "隔壁老王";
s1.age = 20;
Student s2 = new Student();
s2.name = "隔壁老李";
s2.age = 18;
Student s3 = s1;
s3.name = "隔壁老邓";
s3.age = 30;
System.out.println(s1.name + ", " + s1.age); // 隔壁老邓 30
System.out.println(s2.name + ", " + s2.age); // 隔壁老李 18
System.out.println(s3.name + ", " + s3.age); // 隔壁老邓 30
}
}
内存分析图