脚本宝典收集整理的这篇文章主要介绍了

JAVA的传参机制

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

之前一直感觉C++和JAVA代码之间的转换是分分钟的事情,直到今天刷题《剑指offer》时,被引用给虐了。。才知道C++虽然看起来臃肿,但是对于数据的操作是真的灵活。

之前看网上很多博客讲JAVA的参数传递分两种,实际上只有一种,即值传递。
对于基本数据类型,传递过去的是值的拷贝;而对于类对象、字符串等引用数据类型,传递过去的是地址的拷贝,即创建了一个新的引用,与原引用共同指向对象的内存;之后在函数里对参数进行赋值操作,实际上是开辟了一段新内存,然后让新引用指向这里,不改变原引用的指向。

如图:
clipboard.png

将array[0]当做参数传入方法,方法入栈后在栈内存中给形参开辟了一个新的引用指向堆内存。如果执行param = "abc" 那么会在堆中开辟一个内容为abc的部分,然后param指向abc而不会改变array[0]的指向。方法结束后出栈,释放局部变量param,最后“abc”被回收。

总结

以上是脚本宝典为你收集整理的

JAVA的传参机制

全部内容,希望文章能够帮你解决

JAVA的传参机制

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过