亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中到底是值傳遞還是引用傳遞

發布時間:2022-01-06 17:10:00 來源:億速云 閱讀:134 作者:柒染 欄目:云計算

今天就跟大家聊聊有關Java中到底是值傳遞還是引用傳遞,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

最近,我在 stackoverflow 上,看到了一個有意思的題目。Java 中到底是“值傳遞”還是“引用傳遞”?

Java中到底是值傳遞還是引用傳遞

回答數很多,點贊數也很多。很快就吸引了我的注意力!


通過我個人對通篇文章的閱讀,得出了 3 個普遍被大家誤導的錯誤!


錯誤1:值傳遞和引用傳遞,區分的條件是傳遞的內容,如果是個值,就是值傳遞。如果是個引用,就是引用傳遞。 


錯誤2:Java 是引用傳遞。 


錯誤3:傳遞的參數如果是普通類型,那就是值傳遞,如果是對象,那就是引用傳遞。

實際上,Java 中只有“值傳遞”!這并不是我一家之言,而是眾多 stackoverflow 上眾多網友的討論的結果!


Java中到底是值傳遞還是引用傳遞

我選擇了一個比較經典的答案,整理給大家!


Java中到底是值傳遞還是引用傳遞

最重要的一點理解是 Dog myDog,它實際上是指向“Dog”的指針。當我們調用 foo(myDog) 的時候,你實際上是將創建的對象的地址傳遞 Dog 給 foo 方法。

注意,Java 中的指針不是指地址。

現在假設 Dog 對象駐留在內存地址 是 42。這意味著我們將 42 傳遞給該方法。

參數 someDog 設置為值 42,在代碼 “AAA” 處,someDog 跟隨 Dog,它指向(Dog 地址 42 處的對象),要求Dog(地址為 42 的那個)將他的名字改為 Max。

在代碼“BBB” 處,Dog 創建了一個新的。假設它所在地址是 74,我們將參數分配 someDog 給 74。

在代碼“CCC” 處,someDog 跟隨 Dog 它指向(Dog 地址 74 處的對象),要求 Dog(地址為 74 的那個)將他的名字改為 Rowlf。

然后,return 了。


Java 的工作方式與 C 完全相同。您可以分配指針,將指針傳遞給方法,按照方法中的指針操作并更改指向的數據。但是,您無法更改指針指向的位置。

Java 總是按值而不是通過引用傳遞參數。Java 把引用的地址當做值進行了傳遞,這么說,你應該就明白了!

看完上述內容,你們對Java中到底是值傳遞還是引用傳遞有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉屏| 郯城县| 扬州市| 揭西县| 仁化县| 卓资县| 桑日县| 碌曲县| 开原市| 康定县| 边坝县| 沁水县| 白银市| 安宁市| 延长县| 格尔木市| 永康市| 陆河县| 泸水县| 达日县| 永登县| 彩票| 平谷区| 页游| 安龙县| 湘阴县| 无为县| 集贤县| 华池县| 武冈市| 大名县| 阿坝县| 金山区| 乌苏市| 临泽县| 安阳市| 曲麻莱县| 石首市| 庄浪县| 体育| 河东区|