黑马程序员技术交流社区

标题: Java 是如何传递参数的 [打印本页]

作者: 温立华    时间: 2013-3-18 21:35
标题: Java 是如何传递参数的
本帖最后由 温立华 于 2013-3-19 15:38 编辑

到底 Java 是如何传递参数的?是by value或by reference

作者: 刘海浩    时间: 2013-3-18 21:39
基本类型(如int, float, char等)是by value;
而“对象”(Object)则是by value of reference to object。
作者: 张善颖    时间: 2013-3-18 21:45
All parameters (values of primitive types, and values that are references to objects) are passed by value [JLS sect 8.4.1]
根据以上 Java规格文件的说法, 所有参数应该都是传值的(by value)。但实际上, 实际经验却告诉我们所有 Java 的对象都是传址的(by reference)。因此我们可以这样解释: 基本类型(如int, float, char等)是by value,而所谓“对象”(Object)则是by value of reference to object。
作者: 全超    时间: 2013-3-18 22:03
当你给方法传递一个基本数据类型时,它是按值传递的。当你给方法传递一个对象时,对象是通过引用传递的。
因为当你创建一个类类型的变量(对象)时,就创建了一个类的引用一个指向该类的地址。在传递的参数为对象时,这个参数中放的内容实际上是对向所在的地址。
作者: 赵鸿富    时间: 2013-3-19 10:04
这主要分两种
一种是基本类型是by value;
另一种是对象(Object)它是by value of reference to object
作者: 葛晓红    时间: 2013-3-19 12:34
值传递!
作者: 陈丽莉    时间: 2013-3-19 14:43
若还有问题,请继续追问;没有的话,请将帖子分类改成【已解决】~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2