不管哪個(gè)語言都有值傳遞,引用傳遞兩種方式,在C語言里面引用傳遞用指針搞定。在Java里面沒有指針,所以Java就規(guī)定(之前的設(shè)計(jì))了某些類型是值傳遞,某些類型是引用傳遞,當(dāng)然完全沒必要去全部類型分析一遍,比如int是什么XX傳遞,String是什么XX傳遞...,浪費(fèi)時(shí)間,因?yàn)楝F(xiàn)在查AI那么方便快捷的事。
先來看兩種傳遞方式的定義,
Value passing definition:
先看代碼,
a = 99
func(a);
a++;
print(a); // 100
print(a); // 99
a傳遞過去,a就會(huì)克隆一份自己,在方法里面操作的是克隆a, 原本的a絲毫不受影響。
reference passing definition:
先看代碼,
a = 99
func(a);
a++;
print(a); // 100
print(a); // 100
a傳遞過去,a不會(huì)克隆一份自己,在方法里面操作的就是原本的a。
兩種傳值方法分別有各自不同的場景,比如說你不想原類型被污染,那就用值傳遞,你想一個(gè)類型傳遞出去,在方法里面被修改了,原型也跟著修改,那么就用引用類型。這些在使用的時(shí)候需要使用者自己去甄別,選擇。文章來源:http://www.zghlxwxcb.cn/news/detail-712050.html
總結(jié):
寫程序的人,必須要知道值傳遞、引用傳遞這兩個(gè)概念,知道他們各自的使用場景。因?yàn)橹啦攀乾F(xiàn)在最重要的,怎么做反而不是,真正需要操作的時(shí)候去查AI即可,但是你連知道都不知道,那就沒得談了(烏鴉掀桌?。?。文章來源地址http://www.zghlxwxcb.cn/news/detail-712050.html
到了這里,關(guān)于The importance of value passing and reference passing的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!