Java参数传递问题

关于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对于任何类型都是采用的传值调用方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java参数传递 给出了基本类型和引用类型参数传递时行为的示例,并给出了String类型作为参数传递时表现出的和一...
    panberglee阅读 561评论 0 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,752评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 国内的茄友多半会遇到炎热的夏季,在这种天气下雪茄到手后可以马上品吸吗? 答案是否定的,任何一个雪茄渠道,包括国内国...
    雪茄123阅读 2,062评论 0 0
  • 一直觉得自己做事三分钟热度,会坚持不了几天,没想到很自觉的做了两星期,虽然时间不长,但是预感到会一直做下去。为什么...
    文群WQ阅读 297评论 3 5