av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

淺談JAVA語(yǔ)言特點(diǎn)

時(shí)間:2025-03-31 01:30:07 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

淺談JAVA語(yǔ)言特點(diǎn)

  JAVA是一門面向?qū)ο蟮恼Z(yǔ)言,它具有什么樣的特點(diǎn)呢?下面將就Java語(yǔ)言特點(diǎn)進(jìn)行淺談,歡迎糾正指出不當(dāng)?shù)牡胤?

  首先JAVA是一門面向?qū)ο蟮恼Z(yǔ)言。何謂對(duì)象?萬物皆對(duì)象,我們思維能夠想象的任何一個(gè)有生命或者無生命,有形的或無形的事物。理論上講,你可以抽取待解決問題的任何概念化構(gòu)件(人、狗、建筑物、服務(wù)等),將其表示為程序中的對(duì)象。而每個(gè)對(duì)象都具有行為和狀態(tài)。具體如何操作這些狀態(tài)和行為,在這里不做解釋。那么什么又是面向?qū)ο竽?表面看來,面向?qū)ο筮@個(gè)術(shù)語(yǔ)的意思是,把軟件組織成一系列離散的,合并了數(shù)據(jù)結(jié)構(gòu)和行為的對(duì)象。這樣可能不好理解,換一種解釋。首先,它是解決問題的一種處理方式,將問題發(fā)出方和接收方的類型高度抽象成一個(gè)個(gè)的整體,各個(gè)整體之間產(chǎn)生的關(guān)系后,將會(huì)產(chǎn)生某些問題,對(duì)這些關(guān)系問題的處理,在于各個(gè)整體之間的方法實(shí)現(xiàn),這種處理方法,整體意為對(duì)象,整個(gè)的程序設(shè)計(jì)叫做面向?qū)ο蟪绦蛟O(shè)計(jì)。

  為了更好的解決面向?qū)ο髥栴},在實(shí)際操作類中有三個(gè)基本特性,繼承、多態(tài)、封裝。通過這些特性實(shí)現(xiàn)了面向?qū)ο蟮哪繕?biāo)——“高內(nèi)聚,低耦合”。下面我來逐一解釋這三個(gè)特性。

  繼承是面向?qū)ο蟮囊粔K基石,因?yàn)樗试S創(chuàng)建分等級(jí)層次的類。利用繼承我們可以創(chuàng)建一個(gè)通用的類,然后再由更具體的類來繼承他,再在這些類里加入自己特定的東西,這樣我們會(huì)節(jié)省很多代碼。就如上面所說的一樣,這個(gè)被繼承的類稱為父類,繼承父類的類稱為子類,我們可以把子類看作是父類專門用途的一個(gè)版本,因?yàn)樽宇惱^承了他,所以,他的內(nèi)容子類里面都有,但是子類還可以有一些自己的東西。JAVA中使用extends關(guān)鍵字來實(shí)現(xiàn)繼承類,語(yǔ)法為:Class 子類名extends 父類名{…}。

  但需要注意的是,繼承中只能為每個(gè)子類定義一個(gè)父類,即JAVA不支持多繼承,可以按照規(guī)定創(chuàng)建一個(gè)繼承的層次。其中一個(gè)子類成為另一個(gè)子類的父類,然而沒有類可以成為自己的父類。在JAVA中可以繼承多個(gè)接口,但接口和繼承是完全不同的,接口沒有能力代替多重繼承,也沒有這個(gè)義務(wù)。其作用就是標(biāo)志類的類別,把不同類型為的類歸于不同的接口,可以更好的管理。

  面向?qū)ο笾胁僮黝惖牡诙䝼(gè)特性,多態(tài)又有什么用處呢?多態(tài)即方法的重載。在JAVA類中不允許定義兩個(gè)相同方法名,并且參數(shù)名也完全相同的方法。如果存在這樣的類方法,將無法通過編譯,JAVA虛擬機(jī)無法決定到底執(zhí)行那個(gè)方法。對(duì)于類的方法(包括從父類繼承的方法),如果兩個(gè)方法名稱相同,但參數(shù)名不一致,可以說一個(gè)方法是另一個(gè)方法的重載方法。具體的使用規(guī)則不在這里啰嗦了。(我已經(jīng)非常啰嗦了^_^)

  面向?qū)ο笾胁僮黝惖牡谌齻(gè)特性,封裝。 封裝這個(gè)詞聽起來好象是將什么東西包裹起來不要?jiǎng)e人看見一樣,就好象是把東西裝進(jìn)箱子里面,這樣別人就不知道箱子里面裝的是什么東西了。其實(shí)JAVA中的封裝這個(gè)概念也就和這個(gè)是差不多的意思。封裝是JAVA面向?qū)ο蟮奶攸c(diǎn)的表現(xiàn),封裝是一種信息隱蔽技術(shù)它有兩個(gè)含義,即把對(duì)象的全部屬性和全部服務(wù)結(jié)合在一起,形成一個(gè)不可分割的獨(dú)立單位,以及盡可能隱藏對(duì)象的內(nèi)部結(jié)構(gòu),也就是說,如果我們使用了封裝技術(shù)的話,別人就只能用我們做出來的東西而看不見我們做的這個(gè)東西的內(nèi)部結(jié)構(gòu)了。例如,我們使用電腦網(wǎng)上聽歌。只需要打開播放器,選中音樂就可聽到聲音了。而這個(gè)具體現(xiàn)實(shí)過程,我們則不知道了。

  上面說了這么多,講了類操作的三個(gè)基本特性。這些特性都是為了實(shí)現(xiàn)一個(gè)目標(biāo),即程序的高內(nèi)聚,低耦合。高內(nèi)聚,低耦合是程序設(shè)計(jì)的一個(gè)重要原則。高內(nèi)聚表明的是一個(gè)聚集度,也可以理解成內(nèi)聚高,就是程序邏輯相關(guān)、可以放在一起的都放在一起,而不要將相關(guān)的邏輯散落在各地,同時(shí)該處也不要做一些無關(guān)的事情,所以高內(nèi)聚也可以理解成只處理自己職責(zé)相關(guān)的事情,這樣整個(gè)系統(tǒng)的職責(zé)非常清晰。這個(gè)原則其實(shí)在日常的生活中也是通用的,比如事情的組織,內(nèi)容的整理如果遵循這個(gè)原則,則會(huì)看上去井井有條,反之則會(huì)非常混亂。低耦合表明了一個(gè)關(guān)聯(lián)度,對(duì)于不同的功能、職責(zé)其關(guān)聯(lián)應(yīng)該盡可能的低,盡可能的正交,只讓彼此間保持必要的聯(lián)系。這樣可以減少相互之間的影響,同時(shí)修改所波及的范圍可以做到最小。

  JAVA語(yǔ)言的第二個(gè)得要特點(diǎn),“跨平臺(tái)”。具有一次編寫多處運(yùn)行的特點(diǎn)。這里的平臺(tái)多指操作系統(tǒng)。JAVA程序不依懶于特定的操作系統(tǒng),可以在不同的系統(tǒng)實(shí)現(xiàn)同樣的功能。而這一功能的實(shí)現(xiàn)要?dú)w功于JAVA特有的運(yùn)行機(jī)制——JAVA虛擬機(jī)。如下圖:

  從上圖我們可以看出,JAVA程序并不是直接交由操作系統(tǒng)處理,而是經(jīng)過一系列加工,最后經(jīng)過JAVA虛擬機(jī)的解釋器解釋后再交由操作系統(tǒng)的。正是這一套機(jī)制使得JAVA程序可以不依懶操作系統(tǒng),因?yàn)樗凶约旱奶幚頇C(jī)制可以根據(jù)不同系統(tǒng)編譯、解釋出適合于特定系統(tǒng)的代碼,從而實(shí)現(xiàn)了跨平臺(tái)功能。

  JAVA語(yǔ)言的第三個(gè)特點(diǎn),“健壯性”。所謂健壯性就是指能夠抵得住盡可能多的意外和錯(cuò)誤。程序有沒有健壯性也說說程序有沒有更強(qiáng)的容錯(cuò)性、穩(wěn)定性、安全性。在JAVA語(yǔ)言中程序沒有了指針的操作和對(duì)內(nèi)存的釋放。你也許會(huì)說,不能對(duì)指針操作不是就不能對(duì)直接對(duì)硬件操作了嗎?的確,JAVA語(yǔ)言對(duì)硬件操作沒有C/C++強(qiáng)大。但正由于這一原因,更加提高了由JAVA編寫的代碼的安全性。因?yàn)椴荒苤苯硬僮髦羔槪档土瞬《緦?duì)程序的干擾性(如:蠕蟲病毒。病毒代碼一般通過對(duì)硬件操作來影響程序)。

  另外關(guān)于內(nèi)存釋放,在C/C++中規(guī)定誰創(chuàng)建內(nèi)存單元,誰就負(fù)責(zé)釋放內(nèi)存單元。而這樣往往會(huì)導(dǎo)致內(nèi)存泄漏,創(chuàng)建者使用后忘記對(duì)內(nèi)存釋放。然而這種情況在JAVA中卻不會(huì)出現(xiàn),JAVA運(yùn)行機(jī)制的“垃圾回收處理機(jī)制”很好的解決了內(nèi)存釋放問題。程序員在編寫代碼中所使用過后的內(nèi)存單元會(huì)由JVM(JAVA虛擬機(jī))檢查并釋放。但我們要注意的是這種垃圾處理回收是有周期性的,也就是說他并不是立即清除你使用的內(nèi)存,而是每隔一段時(shí)間清理一次。由于垃圾回收處理機(jī)制,程序員是無法控制和干擾的。那么有沒有一種方法能夠讓我們手動(dòng)的來處理垃圾回收,而不用等待他的周期性呢?答案是肯定的。System.gc()方法強(qiáng)制進(jìn)行終結(jié)動(dòng)作?上У氖沁@個(gè)方法也并不好用,因?yàn)樗膬?yōu)先級(jí)是最低的,要待到CPU空閑時(shí)才運(yùn)行。凡事都有兩面性嘛,有好就好壞。一切都要遵照自然的法則。

  通過對(duì)JAVA語(yǔ)言的初步學(xué)習(xí),了解到這門對(duì)我熟悉而又陌生的語(yǔ)言一些特點(diǎn)。更多內(nèi)容請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)!

【淺談JAVA語(yǔ)言特點(diǎn)】相關(guān)文章:

Java語(yǔ)言特點(diǎn)07-10

java語(yǔ)言特點(diǎn)總結(jié)08-06

Java語(yǔ)言特點(diǎn)有哪些06-30

Java語(yǔ)言的語(yǔ)言特點(diǎn)有哪些09-04

淺談Java語(yǔ)言與Java 技術(shù)09-22

淺談Java語(yǔ)言的優(yōu)點(diǎn)06-01

淺談Java中的弱引用10-27

淺談如何使用java多線程10-17

淺談Java語(yǔ)言中static的作用08-10