Java参数传递问题

2017-06-13  本文已影响10人  李宏杰0209

关于Java参数传递问题的一点思考, 主要关注以下两个问题:

1. 参数是如何传递的?

参数通过复制的方式传递。

对于基本类型,复制的方式类似于复制文件:

image.png

通过复制的方式传递, 我们对副本的任何修改都不会影响到原本的数据。

对于引用类型, 复制的方式类似于复制快捷方式:

image.png
当我们复制快捷方式(引用)时, 我们仍然可以通过复制过的引用来找到Car object, 我们对对象的任何修改都会反应到对象本身。

2. 传值还是传引用?

Call by reference (also referred to as pass by reference) is an evaluation strategy where a function receives an implicit reference to a variable used as argument, rather than a copy of its value.

根据维基百科的定义,传引用是不能复制再传递的,所以Java对于任何类型都是采用的传值调用方式。

上一篇下一篇

猜你喜欢

热点阅读