Java中引用型参数的传值问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 23:41:20
俗话说,读书百遍,其意自现.但有段话我读了不下百遍还是不大明白意思....如下:
当参数是引用类型时,"传值"传递的是变量的引用,而不是变量所引用的实体.如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化,因为,两个同类型的引用型变量如果具有同样的引用,就会有相同的实体.但是,改变参数的引用不会影响其传值变量的引用.
有没有高手用通俗易懂的语言帮我解释下!谢谢

举个例子,
两个对象,
Student s1 = new Student("Zhang");
Student s2 = new Student("Wang");
这时s1,s2分别指向对像Zhang和Wang;
有个函数
boolean older(Student ss1, Student ss2),
当把s1,s2传给这个函数的时候,s1和s2被复制成了ss1,ss2,也就是说现在有两个变量s1和ss1都指向Zhang,s2和ss2指向Wang,而实际对象Zhang和Wang没有被复制。

引用(s1,s2)被复制,但是它们引用的对象(Zhang和Wang)没有被复制