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

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

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的水磨溝網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

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

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

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

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

在那時,由于個人知識經(jīng)驗儲備有限,我又很容地相信上面的論點,并且也開始認為“Java不是純粹的面向?qū)ο缶幊陶Z言”。

到了更后來,我發(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)容確實被證實屬于一個對象。

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

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

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

本文名稱:Java是不是純面向?qū)ο笳Z言
鏈接分享:http://muchs.cn/article2/phdcic.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、網(wǎng)站建設App開發(fā)、面包屑導航關鍵詞優(yōu)化、全網(wǎng)營銷推廣

廣告

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

h5響應式網(wǎng)站建設