java参数传递问题

当我们写习惯了之后,会发现值传递也是很奇妙的问题。

     1、若果形参与实参都是基本类型,等同于向被调用方法中拷贝了一份,称为值传递,java中全部是值传递 (包含了包装类型与String- 不包含数组) ,也就是说拷贝的这一份数据在另一个方法中的任何改动都与父调用者中的没有关系

     2、若形参与实参都是对象类型,等同于把指针拷贝了一份 (包含了任何数组类型) ,也就是说拷贝的这一份在另一个方法中的操作会影响父调用者,等同于两个指针指向同一个对象,相当于两条绳子指向同一个箱子,连个方法中绳子是不同的,箱子是一个,通过两个绳子对箱子操作会对两个方法中的对象(盒子)产生共同影响,

       注: 但是如果被调用方法中只是对绳子进行了泛化 sourceIndex(调用者索引) = newSourceIndex(被调用者索引) 的话 【等号运行被赋值的是左方,此处相当于这个指针拷贝被赋予了新的地址】 那么调用者中的对象是不会受到影响的,应为只是把不同的绳子指向了一个新对象而已如果想影响调用者中的对象,则可以把被调用者中加上返回值,返回值在调用者中指向源对象索引,之所以1 中的操作不会影响,是因为有自动拆箱动作,数值是独立的一份,而对象则不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值