程序员Java

Java值传递和引用传递

2020-09-29  本文已影响0人  花伤情犹在

一:弄清楚基本类型和引用类型的不同之处

基本类型,值就直接保存在变量中

引用类型,变量中保存的只是实际对象的地址。一般称这种变量为"引用",引用指向实际对象,实际对象中保存着内容。

值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。

引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。

一般认为,java内的基础类型数据传递都是值传递. java中实例对象的传递是引用传递。

int number=99;

String string="99";


二:搞清楚赋值运算符(=)的作用

对于基本类型 num ,赋值运算符会直接改变变量的值,原来的值被覆盖掉。

对于引用类型 str,赋值运算符会改变引用中所保存的地址,原来的地址被覆盖掉。但是原来的对象不会被改变(重要)。

如上图所示,“hello” 字符串对象没有被改变。(没有被任何引用所指向的对象是垃圾,会被垃圾回收器回收)

int number=99;    ------->       int number=98;

String string="99";    ----->    String string="98";

上一篇 下一篇

猜你喜欢

热点阅读