成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

深入淺析Java中的對(duì)象與引用

今天就跟大家聊聊有關(guān)深入淺析Java中的對(duì)象與引用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供做網(wǎng)站、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、國(guó)際域名空間、虛擬空間、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

Java中的對(duì)象和引用詳解

在Java中,有一組名詞經(jīng)常一起出現(xiàn),它們就是“對(duì)象和對(duì)象引用”,很多朋友在初學(xué)Java的時(shí)候可能經(jīng)常會(huì)混淆這2個(gè)概念,覺(jué)得它們是一回事,事實(shí)上則不然。今天我們就來(lái)一起了解一下對(duì)象和對(duì)象引用之間的區(qū)別和聯(lián)系。

1.何謂對(duì)象?

在Java中有一句比較流行的話,叫做“萬(wàn)物皆對(duì)象”,這是Java語(yǔ)言設(shè)計(jì)之初的理念之一。要理解什么是對(duì)象,需要跟類一起結(jié)合起來(lái)理解。下面這段話引自《Java編程思想》中的一段原話:

“按照通俗的說(shuō)法,每個(gè)對(duì)象都是某個(gè)類(class)的一個(gè)實(shí)例(instance),這里,‘類'就是‘類型'的同義詞?!?/p>

從這一句話就可以理解到對(duì)象的本質(zhì),簡(jiǎn)而言之,它就是類的實(shí)例,比如所有的人統(tǒng)稱為“人類”,這里的“人類”就是一個(gè)類(物種的一種類型),而具體到每個(gè)人,比如張三這個(gè)人,它就是對(duì)象,就是“人類”的實(shí)例。

2.何謂對(duì)象引用?

我們先看一段話:

“每種編程語(yǔ)言都有自己的數(shù)據(jù)處理方式。有些時(shí)候,程序員必須注意將要處理的數(shù)據(jù)是什么類型。你是直接操縱元素,還是用某種基于特殊語(yǔ)法的間接表示(例如C/C++里的指針)來(lái)操作對(duì)象。所有這些在 Java 里都得到了簡(jiǎn)化,一切都被視為對(duì)象。因此,我們可采用一種統(tǒng)一的語(yǔ)法。盡管將一切都“看作”對(duì)象,但操縱的標(biāo)識(shí)符實(shí)際是指向一個(gè)對(duì)象的“引用”(reference)。”

這段話來(lái)自于《Java編程思想》,很顯然,從這段話可以看出對(duì)象和對(duì)象引用不是一回事,是兩個(gè)完全不同的概念。舉個(gè)例子,我們通常會(huì)用下面這一行代碼來(lái)創(chuàng)建一個(gè)對(duì)象:

Person person = new Person("張三");

有人會(huì)說(shuō),這里的person是一個(gè)對(duì)象,是Person類的一個(gè)實(shí)例。

也有人會(huì)說(shuō),這里的person并不是真正的對(duì)象,而是指向所創(chuàng)建的對(duì)象的引用。

到底哪種說(shuō)法是對(duì)的?我們先不急著糾結(jié)哪種說(shuō)法是對(duì)的,再看兩行代碼:

Person person;
person = new Person("張三");

這兩行代碼實(shí)現(xiàn)的功能和上面的一行代碼是完全一樣的。大家都知道,在Java中new是用來(lái)在堆上創(chuàng)建對(duì)象用的,如果person是一個(gè)對(duì)象的話,那么第二行為何還要通過(guò)new來(lái)創(chuàng)建對(duì)象呢?由此可見(jiàn),person并不是所創(chuàng)建的對(duì)象,是什么?上面的一段話說(shuō)的很清楚,“操縱的標(biāo)識(shí)符實(shí)際是指向一個(gè)對(duì)象的引用”,也就是說(shuō)person是一個(gè)引用,是指向一個(gè)可以指向Person類的對(duì)象的引用。真正創(chuàng)建對(duì)象的語(yǔ)句是右邊的new Person("張三");

再看一個(gè)例子:

Person person;
person = new Person("張三");
person = new Person("李四");

這里讓person先指向了“張三”這個(gè)對(duì)象,然后又指向了“李四”這個(gè)對(duì)象。也就是說(shuō),Person person,這句話只是聲明了一個(gè)Person類的引用,它可以指向任何Person類的實(shí)例。這個(gè)道理就和下面這段代碼一樣:

int a;
a=2;
a=3;

這里先聲明了一個(gè)int類型的變量a,先對(duì)a賦值為2,后面又賦值為3.也就是說(shuō)int類型的變量a,可以讓它的值為2,也可以為3,只要是合法的int類型的數(shù)值即可。

也就是說(shuō),一個(gè)引用可以指向多個(gè)對(duì)象,而一個(gè)對(duì)象可不可以被多個(gè)引用所指呢?答案當(dāng)然是可以的。

比如:

Person person1 = new Person("張三");
Person person2 = person1;

看完上述內(nèi)容,你們對(duì)深入淺析Java中的對(duì)象與引用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

本文名稱:深入淺析Java中的對(duì)象與引用
本文來(lái)源:http://jinyejixie.com/article2/jjjiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、關(guān)鍵詞優(yōu)化、網(wǎng)站制作、企業(yè)網(wǎng)站制作、網(wǎng)站改版全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
磐石市| 枞阳县| 南乐县| 海伦市| 巴南区| 博白县| 洪江市| 三穗县| 泸西县| 东乡县| 峡江县| 清原| 浦县| 黄大仙区| 新宁县| 五大连池市| 襄城县| 府谷县| 方正县| 洞口县| 白朗县| 高碑店市| 潮安县| 通海县| 西乡县| 克什克腾旗| 靖西县| 亚东县| 监利县| 东安县| 万安县| 根河市| 吉木乃县| 辽阳县| 搜索| 梨树县| 鸡泽县| 马龙县| 清流县| 西乡县| 衢州市|