摘要:首先說結(jié)論,中只有值傳遞,沒有引用傳遞對于普通類型的變量比如,,,。比如說,如果是引用傳遞,那么下面這段代碼就會出錯空指針顯然避免了這個問題,因此使用了值傳遞而不是引用傳遞。
首先說結(jié)論,java中只有值傳遞,沒有引用傳遞?。?!
對于普通類型的變量比如,int,char,float。不用說都知道是值傳遞。
那么對于類類型的變量呢?為什么也是值傳遞?
類類型的變量本身就是個引用,那么傳遞的不是引用嗎?
比如說:
class A { int aa; } void fun(A a) { a = null; } A a = new A(); fun(a); System.out.println(a == null);
fun函數(shù)傳遞的是引用?還是值?
答案是引用的值,那么傳遞的還是值。
因此最后輸出是false。
為什么這么設(shè)計?因為java的設(shè)計理念就是安全,就是可靠。
如果傳遞的是引用,那么在函數(shù)中就能夠改變引用的指向,那么
很有可能造成程序不安全。比如說,如果是引用傳遞,那么下面這段代碼就會出錯(空指針):
void fun(A a) { a = null; } A a = new A(); fun(a); System.out.println(a.aa);
java顯然避免了這個問題,因此使用了值傳遞而不是引用傳遞。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73931.html
摘要:,變量里存的是什么在規(guī)范中,對于有這么一句話一個可以是一個類的實例或者是一個數(shù)組一個數(shù)組其實是一個,不過這是另一個話題了。由于的設(shè)計是不可變的,在一個實例上的任何增刪操作都會產(chǎn)生一個新的實例,效果與重新為變量設(shè)定新的引用值是一樣的。 考慮下面這個例子: Long l1 = 1L; Long l2 = 2L; Long l3 = 3L; long l4 = 3L; Long l5 = 1...
摘要:地址面試必備最最最常見的面試題總結(jié)第一周一中的值傳遞和引用傳遞非常重要首先要明確的是對象傳遞數(shù)組類接口是引用傳遞,原始類型數(shù)據(jù)整型浮點型字符型布爾型傳遞是值傳遞。這個哈希碼的作用是確定該對象在哈希表中的索引位置。 showImg(https://segmentfault.com/img/remote/1460000015923339?w=922&h=519); 這里會分享一些出現(xiàn)頻率極...
摘要:個引用變量指向同一個對象,讓其中一個引用變量指向另一個對象,另一個變量依然指向前一個對象。 JavaScript 基礎(chǔ)深入——數(shù)據(jù)、變量、內(nèi)存 什么是數(shù)據(jù)? 存儲在內(nèi)存中代表特定信息的,本質(zhì)上是0100101..... 數(shù)據(jù)的特點:可傳遞、可運算 一切皆數(shù)據(jù) 內(nèi)存中所有操作的目標(biāo):數(shù)據(jù) 算術(shù)運算 邏輯運算 賦值運算 運行函數(shù) 什么是內(nèi)存? 內(nèi)存條通電后產(chǎn)生的可儲存數(shù)據(jù)的空...
摘要:但有時候,當(dāng)我們的代碼只需要與父類打交道時,可以使用向上轉(zhuǎn)型,來使我們的代碼不依賴具體子類,比如以下代碼,方法可以接受類的任意子類內(nèi)存分析我們來分析以下轉(zhuǎn)型代碼在內(nèi)存中的表示 學(xué)習(xí)設(shè)計模式的時候,發(fā)現(xiàn)很多模式都用到了向上轉(zhuǎn)型(eg. 工廠方法)。而我對向上轉(zhuǎn)型(upcasting)的機制并不十分熟悉。這篇文章將深入分析向上轉(zhuǎn)型的機制、內(nèi)存分析。 概念 先從幾個基本概念開始: 1. Ja...
摘要:閱讀原文這題不會別說你懂值傳遞與引用傳遞即使工作過一階段的人也不一定能夠理解是值傳遞還是引用傳遞。概念值傳遞方法調(diào)用時,實參的數(shù)值被復(fù)制到另一個變量,然后傳遞復(fù)制的副本。 閱讀原文:這題不會!別說你懂值傳遞與引用傳遞 即使工作過一階段的人也不一定能夠理解Java是值傳遞還是引用傳遞。若不信,那么來看看下面這道題。 題目 請先寫出你的答案,然后對比下輸出結(jié)果。 public class ...
閱讀 3634·2023-04-25 23:32
閱讀 2048·2019-08-30 15:55
閱讀 2661·2019-08-30 15:52
閱讀 3120·2019-08-30 10:54
閱讀 848·2019-08-29 16:16
閱讀 657·2019-08-29 15:09
閱讀 3661·2019-08-26 14:05
閱讀 1642·2019-08-26 13:22