国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

java中到底是值傳遞還是引用傳遞?

xiongzenghui / 1441人閱讀

摘要:首先說結(jié)論,中只有值傳遞,沒有引用傳遞對(duì)于普通類型的變量比如,,,。比如說,如果是引用傳遞,那么下面這段代碼就會(huì)出錯(cuò)空指針顯然避免了這個(gè)問題,因此使用了值傳遞而不是引用傳遞。

首先說結(jié)論,java中只有值傳遞,沒有引用傳遞!!!

對(duì)于普通類型的變量比如,int,char,float。不用說都知道是值傳遞。
那么對(duì)于類類型的變量呢?為什么也是值傳遞?
類類型的變量本身就是個(gè)引用,那么傳遞的不是引用嗎?
比如說:

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è)計(jì)?因?yàn)閖ava的設(shè)計(jì)理念就是安全,就是可靠。
如果傳遞的是引用,那么在函數(shù)中就能夠改變引用的指向,那么
很有可能造成程序不安全。比如說,如果是引用傳遞,那么下面這段代碼就會(huì)出錯(cuò)(空指針):

void fun(A a)
{
 a = null;
}

A a = new A();

fun(a);
System.out.println(a.aa);

java顯然避免了這個(gè)問題,因此使用了值傳遞而不是引用傳遞。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/73931.html

相關(guān)文章

  • [Java] 變量里存的到底是什么

    摘要:,變量里存的是什么在規(guī)范中,對(duì)于有這么一句話一個(gè)可以是一個(gè)類的實(shí)例或者是一個(gè)數(shù)組一個(gè)數(shù)組其實(shí)是一個(gè),不過這是另一個(gè)話題了。由于的設(shè)計(jì)是不可變的,在一個(gè)實(shí)例上的任何增刪操作都會(huì)產(chǎn)生一個(gè)新的實(shí)例,效果與重新為變量設(shè)定新的引用值是一樣的。 考慮下面這個(gè)例子: Long l1 = 1L; Long l2 = 2L; Long l3 = 3L; long l4 = 3L; Long l5 = 1...

    gaara 評(píng)論0 收藏0
  • 最最最常見的Java基礎(chǔ)知識(shí)面試題總結(jié)

    摘要:地址面試必備最最最常見的面試題總結(jié)第一周一中的值傳遞和引用傳遞非常重要首先要明確的是對(duì)象傳遞數(shù)組類接口是引用傳遞,原始類型數(shù)據(jù)整型浮點(diǎn)型字符型布爾型傳遞是值傳遞。這個(gè)哈希碼的作用是確定該對(duì)象在哈希表中的索引位置。 showImg(https://segmentfault.com/img/remote/1460000015923339?w=922&h=519); 這里會(huì)分享一些出現(xiàn)頻率極...

    syoya 評(píng)論0 收藏0
  • 【2】JavaScript 基礎(chǔ)深入——數(shù)據(jù)、變量、內(nèi)存

    摘要:個(gè)引用變量指向同一個(gè)對(duì)象,讓其中一個(gè)引用變量指向另一個(gè)對(duì)象,另一個(gè)變量依然指向前一個(gè)對(duì)象。 JavaScript 基礎(chǔ)深入——數(shù)據(jù)、變量、內(nèi)存 什么是數(shù)據(jù)? 存儲(chǔ)在內(nèi)存中代表特定信息的,本質(zhì)上是0100101..... 數(shù)據(jù)的特點(diǎn):可傳遞、可運(yùn)算 一切皆數(shù)據(jù) 內(nèi)存中所有操作的目標(biāo):數(shù)據(jù) 算術(shù)運(yùn)算 邏輯運(yùn)算 賦值運(yùn)算 運(yùn)行函數(shù) 什么是內(nèi)存? 內(nèi)存條通電后產(chǎn)生的可儲(chǔ)存數(shù)據(jù)的空...

    rubyshen 評(píng)論0 收藏0
  • Java向上轉(zhuǎn)型及內(nèi)存分析

    摘要:但有時(shí)候,當(dāng)我們的代碼只需要與父類打交道時(shí),可以使用向上轉(zhuǎn)型,來使我們的代碼不依賴具體子類,比如以下代碼,方法可以接受類的任意子類內(nèi)存分析我們來分析以下轉(zhuǎn)型代碼在內(nèi)存中的表示 學(xué)習(xí)設(shè)計(jì)模式的時(shí)候,發(fā)現(xiàn)很多模式都用到了向上轉(zhuǎn)型(eg. 工廠方法)。而我對(duì)向上轉(zhuǎn)型(upcasting)的機(jī)制并不十分熟悉。這篇文章將深入分析向上轉(zhuǎn)型的機(jī)制、內(nèi)存分析。 概念 先從幾個(gè)基本概念開始: 1. Ja...

    Zachary 評(píng)論0 收藏0
  • 這題不會(huì)!別說你懂值傳遞引用傳遞

    摘要:閱讀原文這題不會(huì)別說你懂值傳遞與引用傳遞即使工作過一階段的人也不一定能夠理解是值傳遞還是引用傳遞。概念值傳遞方法調(diào)用時(shí),實(shí)參的數(shù)值被復(fù)制到另一個(gè)變量,然后傳遞復(fù)制的副本。 閱讀原文:這題不會(huì)!別說你懂值傳遞與引用傳遞 即使工作過一階段的人也不一定能夠理解Java是值傳遞還是引用傳遞。若不信,那么來看看下面這道題。 題目 請(qǐng)先寫出你的答案,然后對(duì)比下輸出結(jié)果。 public class ...

    QLQ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<