Java值传递和按引用传递

  • 发布时间:2017-07-18 11:44:08,加入时间:2017年05月18日(距今2918天)
  • 地址:中国»河南»郑州:郑州市金水区文化路82号硅谷广场B座
  • 公司:郑州尚学堂, 用户等级:普通会员
  • 联系:张老师,手机:18729211698 电话:0371-58500958

与其他语言不同,Java不允许程序员选择按值传递还是按引用传递各个参数,

基本类型(byte--short--int--long--float--double--boolean--char)的变量总是按值传递。

就对象而言,不是将对象本身传递给方法,而是将对象的的引用或者说对象的首地址传递给方法,引用本身是按值传递的也就是说,讲引用的副本传递给方法(副本就是说明对象此时有两个引用了),

通过对象的引用,方法可以直接操作该对象(当操作该对象时才能改变该对象,而操作引用时源对象是没有改变的)。

现在说说数组:如果将单个基本类型数组的元素传递给方法,并在方法中对其进行修改,则在被调用方法结束执行时,该元素中存储的并不是修改后的值.

因为这种元素是按值传递,如果传递的是数组的引用,则对数组元素的后续修改可以在原始数组中反映出来(因为数组本身就是个对象,int[] a = new int[2];,这里面的int是数组元素的类型,而数组元素的修改是操作对象)。

对于单个非基本类型数组的元素在方法中修改,则在被调用方法结束执行时,该元素中存储的是修改后的值,因为这种元素是按引用传递的,对象的改动将在源数组的数组元素中反映出来。

郑州尚学堂7月开班时间公告

Java培训脱产班开课时间:2017年07月19日 抢座中..

Android培训脱产班开课时间:2017年07月19日 抢座中..

地址:河南省郑州市金水区文化路硅谷广场B座9楼011A-018号

联系我时请说明来自志趣网,谢谢!

免责申明:志趣网所展示的信息由用户自行提供,其真实性、合法性、准确性由信息发布人负责。使用本网站的所有用户须接受并遵守法律法规。志趣网不提供任何保证,并不承担任何法律责任。 志趣网建议您交易小心谨慎。