首页  >  问答  >  正文

Java中call by value和call by reference的区别

Java中call by value和call by reference部分看的有些疑惑,希望有高人可以指点迷津,或者推荐一些很好的文章或者博客。谢谢。

高洛峰高洛峰2713 天前827

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-05-17 10:05:50

    call by value很好理解,基本数据类型的值是分配在栈上的,调用和修改的都是栈上的值
    call by reference准确地说,应该是call by address reference,调用的是地址引用,也就是堆上的地址。

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-17 10:05:50

    Java里面都是call by value, 只不过在调用函数的时候,如果是原始类型,传的是原始类型地址的拷贝,如果是引用类型则为引用类型地址的拷贝。

    Ref:

    is-java-pass-by-reference-or-pass-by-value
    is-java-really-passing-objects-by-value

    回复
    0
  • 取消回复