首页 > 编程知识 正文

java值传递与引用传递的区别,java中传值和传引用的区别

时间:2023-05-03 14:41:17 阅读:31091 作者:4895

Java中的引用传递和值传递

关于Java的参照传递和价格传递,在听了老师的说明之后,还是不知道发生了什么,我查了资料,在这里和大家分享。 如果有错误的地方,我们等待您的评论。

java没有指针。 java中只存在离岸价。 对对象(数组、类和接口)的传递看起来像是引用传递,可以改变对象中某个属性或变量的值。 虽然是值的变化,但是两者不同。 实际上,此传递的函数的值是对象引用的副本,传递时引用了函数的地址值,因此最终将按值传递。

在java中传递值:

代码如下。

publicclassarraydemdo 01 { publicstaticvoidchange (inta ) { score=50; } publicstaticvoidmain (字符串[ ] args ) { int score=10; system.out.println(score; 变更(score ); system.out.println(score; }其最终结果都是10,传递给main中值得复制的东西,这个副本与原始值关系不大

在java中引用传递:

代码如下。

publicclassarrayrefdemo 02 { publicstaticvoidmain [ ] args }//todo auto-generatedmethodstubintttemp [ ]={ 1,5 } fun (测试for(intI=0; iTemp.length; I ) (system.out.print ) temp[I] )、' 't ' ); }publicstaticvoidfun(intx () ) /接受对整形数组的引用x(0)=78; }上述程序的执行结果为78、5、87、 从堆和堆栈的关系来看,Temp的值分别为1、5、78,在堆栈内存中,Temp同时传递到fun,在x、x和Temp中同时传递到相同的空间; 假设x是第一个值78,此时执行此方法后,x不再有用,但此时堆存储器中的第一个值已被修改,因此最后一个值为78、5、87 .

转载于:https://www.cn blogs.com/xiaomu0/p/10771344.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。