Java中方法参数的传递
Java中方法參數(shù)的傳遞:
眾所周知,Java語(yǔ)言中只有值傳遞,看起來(lái)很好理解的一句話,那么來(lái)看一個(gè)例子:
輸出結(jié)果:
這是一個(gè)經(jīng)典問(wèn)題,我想說(shuō)說(shuō)自己的理解:
首先,變量sa和sb分別包含一個(gè)字符串對(duì)象的引用。不是引用本身,它們是用于存儲(chǔ)一個(gè)內(nèi)存地址的變量。Java按值傳遞,當(dāng)變量sa和sb傳遞給opertion()方法,sa和sb的引用的副本被傳遞。而不是sa和sb引用本身。
如圖:
作為參數(shù)傳入opertion()方法時(shí):
當(dāng)在opertion()方法中sb=sa時(shí):
由此可以看出sa和sb的副本都指向’A’的內(nèi)存地址,但是主方法中的sa和sb引用都沒(méi)有發(fā)生過(guò)變化,變化的是副本sa和sb的指向地址,下面還有一段代碼說(shuō)明問(wèn)題:
大家都知道String是不可變的,改變的只是引用地址,由此可以說(shuō)明參數(shù)傳進(jìn)來(lái)的不是引用的本身
PS:(希望大家看的時(shí)候能提出自己的看法,并能指出有錯(cuò)誤的或表達(dá)不準(zhǔn)確的地方,在下定當(dāng)積極配合)
總結(jié)
以上是生活随笔為你收集整理的Java中方法参数的传递的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js 正则表达式 取反
- 下一篇: 微软将推出桌面虚拟化软件