Java中的數(shù)組是對(duì)象嗎?
Java和C++都是面向?qū)ο蟮恼Z(yǔ)言。在使用這些語(yǔ)言的時(shí)候,我們可以直接使用標(biāo)準(zhǔn)的類庫(kù),也可以使用組合和繼承等面向?qū)ο蟮奶匦詷?gòu)建自己的類,并且根據(jù)自己構(gòu)建的類創(chuàng)建對(duì)象。那么,我們是不是應(yīng)該考慮這樣一個(gè)問(wèn)題:在面向?qū)ο蟮恼Z(yǔ)言中,數(shù)組是對(duì)象嗎?
要判斷數(shù)組是不是對(duì)象,那么首先明確什么是對(duì)象,也就是對(duì)象的定義。在較高的層面上,對(duì)象是根據(jù)某個(gè)類創(chuàng)建出來(lái)的一個(gè)實(shí)例,表示某類事物中一個(gè)具體的個(gè)體。對(duì)象具有各種屬性,并且具有一些特定的行為。而在較低的層面上,站在計(jì)算機(jī)的角度,對(duì)象就是內(nèi)存中的一個(gè)內(nèi)存塊,在這個(gè)內(nèi)存塊封裝了一些數(shù)據(jù),也就是類中定義的各個(gè)屬性,所以,對(duì)象是用來(lái)封裝數(shù)據(jù)的。以下為一個(gè)Person對(duì)象在內(nèi)存中的表示:
注意:
1)小的紅色矩形表示一個(gè)引用(地址)或一個(gè)基本類型的數(shù)據(jù),大的紅色矩形表示一個(gè)對(duì)象,多個(gè)小的紅色矩形組合在一塊,可組成一個(gè)對(duì)象。
2)name在對(duì)象中只表示一個(gè)引用, 也就是一個(gè)地址值,它指向一個(gè)真實(shí)存在的字符串對(duì)象。在這里嚴(yán)格區(qū)分了引用和對(duì)象。
那么在Java中,數(shù)組滿足以上的條件嗎?在較高的層面上,數(shù)組不是某類事物中的一個(gè)具體的個(gè)體,而是多個(gè)個(gè)體的集合。那么它應(yīng)該不是對(duì)象。而在計(jì)算機(jī)的角度,數(shù)組也是一個(gè)內(nèi)存塊,也封裝了一些數(shù)據(jù),這樣的話也可以稱之為對(duì)象。以下是一個(gè)數(shù)組在內(nèi)存中的表示:
這樣的話, 數(shù)組既可以是對(duì)象, 也可以不是對(duì)象。至于到底是不是把數(shù)組當(dāng)做對(duì)象,全憑Java的設(shè)計(jì)者決定。數(shù)組到底是不是對(duì)象, 通過(guò)代碼驗(yàn)證:
int[] a = new int[4]; //a.length; //對(duì)屬性的引用不能當(dāng)成語(yǔ)句 int len = a.length; //數(shù)組中保存一個(gè)字段, 表示數(shù)組的長(zhǎng)度 //以下方法說(shuō)明數(shù)組可以調(diào)用方法,java中的數(shù)組是對(duì)象.這些方法是Object中的方法,所以可以肯定,數(shù)組的最頂層父類也是Object a.clone(); a.toString();
文章名稱:Java數(shù)組的特性_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理-創(chuàng)新互聯(lián)
本文URL:http://jinyejixie.com/article48/dcgdep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、企業(yè)建站、做網(wǎng)站、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、建站公司
聲明:本網(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)
猜你還喜歡下面的內(nèi)容
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)