Java入门总结------参数传递:值传递与引用传递
参数传递:值传递与引用传递
1.值传递:所有基本数据类型:byte short int long float double boolean char 加上String类型
下面,定义2个方法,作用显而易见:给参数t赋值以及让参数++
a和b的值有分别是多少?
结果如下
也就是说,把b的值赋给了a之后,a的值改变了,但是对b也是没有影响的
2.引用传递:所有的对象类型(类,接口,抽象类,数组)
引用传递又可以叫做地址传递。
看一下下面的代码
很显然,student3的名字也被改变了,为什么?
因为,对象类型的变量存储的是对象在内存中的首地址。当一个对象类型的变量的值改变时,意味着它能访问到的堆内存空的首地址也将改变,上示代码中,student3赋值给了student1,以为这student1也将保存student3的地址,因为他们访问的将是同一个地址,因而一个该了地址中的内容,下一个访问时也将是已经改变了的内容。这就是引用传递。