溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java是不是純面向?qū)ο笳Z言

發(fā)布時間:2021-08-30 18:05:34 來源:億速云 閱讀:173 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“Java是不是純面向?qū)ο笳Z言”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

  在我剛開始學(xué)習(xí)Java的前面幾年,我從書本里知道了Java是遵循“面向?qū)ο缶幊谭妒?ObjectOrientedProgrammingparadigm)”的。在Java世界內(nèi)一切都是對象,甚至包括字符串(String)這些都是對象(在C語言中,字符串是字符數(shù)組),那時候,我認(rèn)為Java是一種面向?qū)ο蟮恼Z言。

  后來,我在網(wǎng)上陸續(xù)看到不少開發(fā)者說“Java實際上不是純粹的面向?qū)ο?,因為并不是所有的東西在Java世界都是一個對象”。他們很多的論點都可以概括為以下兩點:

所有的靜態(tài)內(nèi)容不屬于任何對象,這些是非對象的東西。

  所有基本類型(char,boolean,byte,short,int,long,float,double)都不是對象,因為我們不能做類似對象的所具有的操作(例如:使用“.”來訪問對象的屬性和方法)。

  在那時,由于個人知識經(jīng)驗儲備有限,我又很容地相信上面的論點,并且也開始認(rèn)為“Java不是純粹的面向?qū)ο?span id="6gqqq24" class="wp_keywordlink">編程語言”。

  到了更后來,我發(fā)現(xiàn)JVM在創(chuàng)建對象的時候,實際上會創(chuàng)建兩個對象:

  一個是實例對象。另一個是Class對象。該Class對象在JVM內(nèi)僅僅會裝載一次,該類的靜態(tài)方法和靜態(tài)屬性也一同裝載,JVM使用該Class對象來創(chuàng)建具體的實例對象(如上面的對象)。

  一個是實例對象emp;另一個則是Class對象,我們可以通過Employee.class引用到它;這個Class對象擁有所有的這個類定義的靜態(tài)變量和靜態(tài)方法。同時,如果我們訪問通過emp對象來訪問靜態(tài)內(nèi)容,會發(fā)現(xiàn)它其實指向的對象就是Employee.class。

  這也揭開了另一個迷:為什么靜態(tài)內(nèi)容在一個對象中(不管是emp還是emp2)改變了,在另一個對象中也同時改變,因為這兩個對象改變的都是在Employee.class同一個對象里面的內(nèi)容。

  現(xiàn)在,上面說到的第一個論點我們要取消了。因為,靜態(tài)內(nèi)容確實被證實屬于一個對象。

  但是我們還要確認(rèn)第二個論點:正如早前提到的,原始類型在Java中不是對象,它們無法做類似對象的操作。為了解決這個問題,Java官方為每一個原始類型推出了對應(yīng)的包裝類(比如:Integer對應(yīng)int,Long對應(yīng)long,Character對應(yīng)char),所以,其實現(xiàn)在我們可以為原始類型創(chuàng)建一個包裝對象,同時對它們做對象相關(guān)的操作。并且,由于自動拆裝箱,我們可以把一個原始類型值賦值給它對應(yīng)的包裝類的引用。但是我們?nèi)匀徊荒軐@些原始類型做對象的操作,我們需要創(chuàng)建對應(yīng)包裝類的對象。

  所以總結(jié)一下是:在JVM內(nèi)部,原始類型就是被當(dāng)作對象來處理的。但是我們開發(fā)者直接把“原始類型”當(dāng)作對象使用,開發(fā)者應(yīng)該使用對應(yīng)的包裝來。

“Java是不是純面向?qū)ο笳Z言”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI