Java按值传递还是引用传递

Java按值传递与“引用传递”

说明:Java中参数传递都是按值传递

1)值传递与“引用传递”

值传递:方法调用时,传递给形式参数的是实际参数的值,方法执行过程不会改变实际参数的值。
Java中并不存在引用传递。
一般被认为是引用传递的情形:
方法调用时,传递给形式参数的是实际参数的值的地址(即传递的为的地址),传递前和传递后都指向同一内存地址空间。方法执行过程中,改变形式参数的地址存的值也就改变了实际参数的值,故操作形式参数会影响实际参数。

2)传递基本数据类型

传递基本数据类型时,传递的是基本数据类型的值的拷贝。

3)传递对象

传递对象时,传递的是对象的地址,修改该地址对应的对象,对象也就改变了。

4)内存分配

这个还没整明白-_-

在一篇文章里看到:

(1)“在Java里面参数传递都是按值传递”这句话的意思是:按值传递是传递的值的拷贝,按引用传递其实传递的是引用的地址值,所以统称按值传递。
(2):在Java里面只有基本类型和按照下面这种定义方式的String是按值传递,其它的都是按引用传递。就是直接使用双引号定义字符串方式:String str = “Java私塾”;


大致就是这样,以后有新的体会再更新。

你可能感兴趣的:(其他)