JAVA(七)-----類高級(jí)部分

JAVA(七)-----類高級(jí)部分

ID:37915206

大小:49.00 KB

頁(yè)數(shù):7頁(yè)

時(shí)間:2019-06-02

JAVA(七)-----類高級(jí)部分_第1頁(yè)
JAVA(七)-----類高級(jí)部分_第2頁(yè)
JAVA(七)-----類高級(jí)部分_第3頁(yè)
JAVA(七)-----類高級(jí)部分_第4頁(yè)
JAVA(七)-----類高級(jí)部分_第5頁(yè)
資源描述:

《JAVA(七)-----類高級(jí)部分》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、類高級(jí)部分一類的繼承一類的繼承在現(xiàn)有類的基礎(chǔ)上創(chuàng)建新的類,稱派生類;也稱子類;現(xiàn)有類稱為基類或父類或超類;基類也可以是其它類的派生類;基類的直接派生類稱為直接子類;Java中用extends來(lái)聲明繼承;Java只允許從一個(gè)類派生出子類;基類本身可以獨(dú)立使用;二繼承的關(guān)系:通過(guò)繼承,派生類獲得基類的成員;被繼承的基類成員可以在派生類中訪問(wèn);不能被繼承的基類成員不能在派生類中訪問(wèn);不能被繼承的基類成員雖然不是派生類成員,但卻是派生類對(duì)象組成的部分;基類成員是否能被繼承,由包和成員的訪問(wèn)屬性決定;在同一個(gè)包中,基類中的Private成員不能被繼承,其它成員可以被繼承;在包之間,基類Privat

2、e和未說(shuō)明訪問(wèn)屬性的成員不能被繼承構(gòu)造方法,作為一個(gè)特例,不能被繼承;從基類繼承的成員,其訪問(wèn)屬性不變;7基類中的Static成員,同樣也屬于派生類成員,由基類對(duì)象和派生類對(duì)象共享;三隱藏的繼承成員:被繼承的基類成員可在派生類中直接訪問(wèn),有時(shí)用戶在派生類中定義的成員名與繼承成員的名稱相同,會(huì)造成繼承成員的隱藏;要訪問(wèn)被隱藏的繼承成員,用限定詞Super;Super不能用在static初始化塊中,也不能用在static方法中;在派生類中隱藏繼承的方法成員時(shí),新定義的同名方法的可訪問(wèn)范圍不能比繼承成員的訪問(wèn)范圍??;Public允許在所有地方訪問(wèn),可被繼承;Protected限制在一個(gè)包中所有

3、的地方訪問(wèn),可在包內(nèi),包外被繼承;未說(shuō)明訪問(wèn)屬性的成員只能在同一個(gè)類中訪問(wèn),不能被繼承;Private成員只能在同一個(gè)類中訪問(wèn),不能被繼承;四派生類的構(gòu)造方法基類中不能被繼承的成員,也是派生類對(duì)象的組成部分;基類中不能被繼承的成員,可以通過(guò)被繼承的方法來(lái)訪問(wèn);在創(chuàng)建派生類對(duì)象時(shí),Java解釋器會(huì)自動(dòng)創(chuàng)建隱含的基類對(duì)象,只是該對(duì)象不能直接被使用而已;在派生類的構(gòu)造方法中,可使用Sup7er()方法,來(lái)調(diào)用基類的構(gòu)造方法;如用戶在派生類的構(gòu)造方法中沒(méi)有調(diào)用基類的構(gòu)造方法,則解釋器會(huì)自動(dòng)插入Super()語(yǔ)句來(lái)調(diào)用基類的構(gòu)造方法;如基類定義的構(gòu)造方法帶有參數(shù),則導(dǎo)致編譯錯(cuò)誤,所以定義派生類時(shí)要

4、顯示的使用super;Super()方法必須是派生類構(gòu)造方法的第一條語(yǔ)句,如不是,則會(huì)編譯出錯(cuò);super()方法之前只能是空行或注釋語(yǔ)句;五多級(jí)繼承Java中允許多級(jí)繼承,即派生類可以是其它類的基類;繼承具有傳遞性,派生類從基類中繼承的成員,又可被自己的派生類繼承;派生類稱子類,派生類的派生類稱間接子類;基類稱直接基類,基類的基類稱間接基類;二多態(tài)Java對(duì)數(shù)據(jù)類型執(zhí)行強(qiáng)制檢查,一個(gè)基本數(shù)據(jù)類型的變量只能存儲(chǔ)相同類型的數(shù)據(jù),一個(gè)對(duì)象變量只能引用相同類型的對(duì)象;在派生類中,一個(gè)基類對(duì)象可以引用一個(gè)子類對(duì)象;這一功能在java中用多態(tài)來(lái)解決;應(yīng)用多態(tài)的前提:用基類變量引用子類對(duì)象;基類變量

5、調(diào)用的方法既是基類成員,也是子類成員;被調(diào)用方法的名稱、參數(shù)、返回值,在基類和子類中完全相同;7當(dāng)子類與基類具有同名的方法,且方法的參數(shù)和返回值都相同時(shí),便可應(yīng)用多態(tài)機(jī)制;當(dāng)基類變量調(diào)用對(duì)象方法時(shí),java解釋器根據(jù)基類變量引用的對(duì)象類型決定所調(diào)用的方法,而不是根據(jù)基類變量的類型來(lái)決定;*只能用基類變量引用子類對(duì)象,不能用子類變量引用基類對(duì)象,否則提示類型不匹配;三finalFinal聲名數(shù)據(jù)成員時(shí),表示該成員為常量初始化后,其值不能再修改;Final聲名方法時(shí),表示該方法在子類中不能覆蓋,即不能在子類中定義同名的方法;Final聲名類時(shí),表示該類不能派生任何子類;四抽象類抽象類用abs

6、tract來(lái)聲名:抽象類中,可用abstract聲名抽象方法,抽象方法沒(méi)有方法體;從抽象類派生子類時(shí),在子類中實(shí)現(xiàn)繼承的抽象方法;如果子類沒(méi)有實(shí)現(xiàn)所有的抽象方法,則子類必須聲名為抽象類;與普通類類似,抽象類中也可以定義數(shù)據(jù)成員和非抽象方法;不管抽象類中是否包含抽象方法,都不能創(chuàng)建初象類的對(duì)象;但可以聲名抽象類變量抽象類變量雖然不能用于引用抽象類對(duì)象(因?yàn)椴荒軇?chuàng)建),但可用于引用實(shí)現(xiàn)了所有抽象方法的派生類對(duì)象;(多態(tài)性)五Object類7Object類是所有類的基類;在程序中,雖然沒(méi)有用extends來(lái)聲明,但編譯器自動(dòng)將用戶定義的類作為object類的子類;object既然是所有類的基類

7、,其變量也可以引用所有其它類的對(duì)象;Object定義的處理對(duì)象的方法:1.toString:public返回字符串類名@對(duì)象的十六進(jìn)制散列碼;將對(duì)象作為字符串使用時(shí)自動(dòng)調(diào)用該方法;2.equalspublic判斷調(diào)用方法的對(duì)象和參數(shù)指定的對(duì)象是否為同一個(gè)對(duì)象;如果是返回true,反之不是同一個(gè)對(duì)象(即使類型,值也是相同的;)則返回false3.getclass:finalpublic:返回包含對(duì)象信息的class類對(duì)象;class類

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。