Java中只有值传递没有引用传递

值传递和引用传递是什么?

值传递指的是指在调用函数时将实际参数复制一份传给方法的形式参数,函数对参数进行修改也不会影响到实际参数的值。

对象被值传递,意味着传递值的副本,不会改变原来对象的值。

引用传递指的是在函数调用时候,将实际参数的地址传递给函数中,如果函数对这个参数进行修改也会影响实际参数的值。

对象被引用传递指的是传递的不是引用对象而是对象的引用。因此,外部对引用对象所做的改变会反应到所有对象上。

这里有必要说下实际参数和形式参数的定义?

形式参数:指在函数调用的时候,定义在方法内部的参数,目地是用来接受调用该函数传入的参数。

实际参数:指的是在调用有参函数时,主调方法和被调方法之间有数据传递关系。在主调函数调用一个有参函数时,在函数后面括号中的参数。

实际参数是函数调用时真正传递的内容,形式参数就是用于接收实际参数的参数。

Java中只有值传递没有引用传递,通过传对象的引用的传递方式,其实就是值传递的特殊情况,是Java中一种求值策略叫做共享对象求值。传递进去的对象引用不会改变原来的值。

你可能感兴趣的:(Java中只有值传递没有引用传递)