Java传值与传引用总结

1、简单类型

按值传递,也就是说,传参时是拷贝一份实参,创建一个新的临时对象供函数内部使用,函数内对此对象的任何操作,都不会对实参有副作用。

2、类类型

按引用传递,也就是说,传参时实际上传递的是实参的一个引用(C++中引用传参的概念,和C++中的“引用”概念有区别,C++中的引用只有在初始化时才能绑定对象,并且一经绑定不可改变),可以理解为拷贝了一份原对象的地址,也就是C++中的指针。

        Java中没有指针的概念,Java中的类类型实际上将C++的“指针”类型与类类型合为一体。所谓合为一体表现在,“指针”的标识符、操作符等,都和对象类的标识符相同,具体来说就是,通过.而非->调用成员,值的访问也不需要解引用符号*(同时不提供访问和操作“指针“地址的方式)。另一方面,类类型的=号也仅仅是基于“指针”地址复制的浅拷贝。

        在函数中,可以通过调用类的成员函数改变该对象的数据成员,函数内修改此对象的操作将反映在调用它的实参上,但要注意,=号的行为是基于C++中指针复制的实现,因而=不会影响调用它的实参。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值