引用变量与把参数传递给方法

引用变量与把参数传递给方法

        基本类型的变量与对象变量(引用类型)之间在方法的参数传递方面有着本质的不同。基本类型变量传递的是值(按值传递),而对象变量传递的是引用(按引用传递)。

        “按值传递”意味着参数的值被复制,然后传递到方法中。在方法中,如果愿意,这个副本可以被修改,而不会影响原始的参数。

        “按引用传递”意味着把一个参数引用传递给方法。利用这个引用,方法实际上是在直接访问参数,而不是复制它。方法对参数所做的任何改动直接施加到作为参数的实际对象。从方法中返回之后,该对象将继续保持对方中已经设置的任何新值。

        实际上,这里仍然是把引用一个对象参数的变量值的副本传递给方法。这就是为什么某些Java书籍(使人误解地)讲:“所有方法调用都是按值传递的。”对象引用的副本按值传递,而实际上还是按引用传递了对象本身。

        其中的一个主要差别是,利用“按值传递的引用”(像Java中那样),将无法利用参数进行任何操作,以改变原始参数指向的位置。利用真正的“按引用传递”,对象参数的赋值将引起原是参数也同时发生变化。在Java中,方法可以改变对象参数中的内容,但不能改变它是哪一个对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值