更新時(shí)間:2020-01-06 14:28:10 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2987次
關(guān)于Java人們已經(jīng)不再陌生,畢竟現(xiàn)在不論是參加Java培訓(xùn)還是自學(xué)Java開發(fā)的人都不在少數(shù),但是關(guān)于Java面向?qū)ο蟮奶卣鬟€有不少的人不是很了解,今天小編就來(lái)說(shuō)說(shuō)Java面向?qū)ο蟮乃膫€(gè)特征。

1、抽象:
抽象——就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。(就是把現(xiàn)實(shí)世界中的某一類東西,提取出來(lái),用程序代碼表示,抽象出來(lái)一般叫做類或者接口。)抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是數(shù)據(jù)抽象,二是過(guò)程抽象。
數(shù)據(jù)抽象——就是用代碼的形式表示現(xiàn)實(shí)世界中一類事物的特性,就是針對(duì)對(duì)象的屬性。比如建立一個(gè)鳥這樣的類,鳥都有以下屬性:一對(duì)翅膀、兩只腳、羽毛等。抽象出來(lái)的類都是鳥的屬性,或者成員變量。
過(guò)程抽象——就是用代碼形式表示現(xiàn)實(shí)世界中事物的一系列行為,就是針對(duì)對(duì)象的行為特征。比如鳥會(huì)飛、會(huì)叫等。抽象出來(lái)的類一般都是鳥的方法。
2、繼承:
繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過(guò)程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。因此可以說(shuō),繼承是為了重用父類代碼,同時(shí)為實(shí)現(xiàn)多態(tài)性作準(zhǔn)備。
3、封裝:
封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象 通過(guò)一個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。封裝隱藏了類的內(nèi)部實(shí)現(xiàn)機(jī)制,從而可以在不影響使用者的前提下改變類的內(nèi)部結(jié)構(gòu),同時(shí)保護(hù)了數(shù)據(jù)。
4、多態(tài)性:
多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題??偟膩?lái)說(shuō),方法的重寫、重載與動(dòng)態(tài)鏈接構(gòu)成多態(tài)性。Java引入多態(tài)的概念原因之一就是彌補(bǔ)類的單繼承帶來(lái)的功能不足。(為規(guī)避 C++中多繼承造成的復(fù)雜繼承問(wèn)題,Java采用單繼承。)
動(dòng)態(tài)鏈接——對(duì)于父類中定義的方法,如果子類中重寫了該方法,那么父類類型的引用將會(huì)調(diào)用子類中的這個(gè)方法,這就是動(dòng)態(tài)鏈接。
注意:繼承與重載一是子類與父類的關(guān)系,二是重載方法的調(diào)用問(wèn)題。
子類對(duì)象可以直接當(dāng)成父類對(duì)象使用,但反過(guò)來(lái)就不可以。舉例來(lái)說(shuō),人是父類,學(xué)生是人的子類,所以學(xué)生對(duì)象一定具備人對(duì)象的屬性,但是人對(duì)象就未必具有學(xué)生對(duì)象的特性。所以學(xué)生對(duì)象可以當(dāng)做人對(duì)象來(lái)使用,但是人對(duì)象就不能當(dāng)做學(xué)生對(duì)象使用。注意當(dāng)把子類對(duì)象當(dāng)成父類對(duì)象使用時(shí),子類對(duì)象將失去所有的子類特 性,只保留與父類同名的屬性和方法(同名方法不僅是函數(shù)名相同,而且參數(shù)類型也要一樣,否則不予保留)。此時(shí)可以對(duì)父類方法進(jìn)行重寫。
一個(gè)類中如果定義了重載的方法,則系統(tǒng)在調(diào)用方法時(shí),會(huì)根據(jù)參數(shù)的類型自動(dòng)選擇調(diào)用合適的方法。

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編針對(duì)“Javase面向?qū)ο笠曨l教程”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)
相關(guān)視頻
類與對(duì)象的概念詳解:http://www.soulsinkind.com/xiazai/1079.html
面向?qū)ο蠓庋b性:http://www.soulsinkind.com/xiazai/696.html
面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別:http://www.soulsinkind.com/xiazai/661.html
面向?qū)ο骭package_import:http://www.soulsinkind.com/xiazai/1042.html
面向?qū)ο骭接口:http://www.soulsinkind.com/xiazai/1048.html
面向?qū)ο骭Object類_finalize方法:http://www.soulsinkind.com/xiazai/1043.html
JavaSE進(jìn)階:http://www.soulsinkind.com/v61/
相關(guān)內(nèi)容
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)