java獲取某個(gè)對(duì)象代碼位置 Java真的有引用傳遞嗎?
Java真的有引用傳遞嗎?嚴(yán)格來說,Java只有值傳遞,沒有引用傳遞。那么為什么會(huì)有這樣的說法呢?首先,讓我們 讓我們談?wù)凧ava的數(shù)據(jù)類型。Java的數(shù)據(jù)類型分為基本數(shù)據(jù)類型和參考數(shù)據(jù)類型。基本數(shù)據(jù)
Java真的有引用傳遞嗎?
嚴(yán)格來說,Java只有值傳遞,沒有引用傳遞。那么為什么會(huì)有這樣的說法呢?
首先,讓我們 讓我們談?wù)凧ava的數(shù)據(jù)類型。Java的數(shù)據(jù)類型分為基本數(shù)據(jù)類型和參考數(shù)據(jù)類型。
基本數(shù)據(jù)類型大致可以分為四種整型::byte,short,int,long,兩種浮點(diǎn)型(也就是小說),一種char字符型,一種bool:方法堆棧區(qū)、堆內(nèi)存區(qū)、本地方法堆棧、方法區(qū)和程序計(jì)數(shù)器。其中,我們經(jīng)常提到的兩塊內(nèi)存是堆內(nèi)存區(qū)和方法堆棧區(qū)。
接下來,我得說說什么是變量。在Java中,變量是一個(gè)合法的字符,用來存儲(chǔ)對(duì)象對(duì)應(yīng)的地址值。變量的值存儲(chǔ)在方法堆棧區(qū)域,不管是基本數(shù)據(jù)類型還是引用數(shù)據(jù)類型。It 只是數(shù)據(jù)類型不同,這個(gè)變量所指向的真實(shí)對(duì)象的值的存儲(chǔ)區(qū)域不同。
對(duì)于基本數(shù)據(jù)類型,其值直接放在方法堆棧區(qū),變量值可以認(rèn)為是其對(duì)象的對(duì)應(yīng)值。因此,當(dāng)您進(jìn)行方法調(diào)用時(shí),您直接在方法堆棧中傳遞值。
但不適用于引用數(shù)據(jù)類型。引用數(shù)據(jù)類型中有兩種值:真值和引用值,其中引用值是變量值。因?yàn)镴ava不允許直接訪問堆區(qū)的內(nèi)容,所以我們只能通過方法棧區(qū)的變量值間接訪問堆中的實(shí)值。因此,當(dāng)進(jìn)行方法調(diào)用時(shí),實(shí)體將傳遞其對(duì)應(yīng)的引用值。本質(zhì)上,引用數(shù)據(jù)類型仍然是值傳遞,但只傳遞引用值。所以這導(dǎo)致有些人說是引用傳遞。
當(dāng)然,有時(shí)它 說參考傳輸是對(duì)的,但我不這么認(rèn)為。;我不認(rèn)為它 夠嚴(yán)謹(jǐn)了。
java字符串也是對(duì)象?
是的,java中的每個(gè)字符都是一個(gè)對(duì)象,當(dāng)你把它們放在一起,就會(huì)產(chǎn)生一個(gè)新的對(duì)象。