版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Java語言程序設(shè)計(jì)第四章類的繼承與多態(tài)4-1類的繼承1、什么是繼承2、繼承的好處與特點(diǎn)3、類的繼承語法規(guī)則4、思考:用Java表示生活中的繼承關(guān)系5、方法的重寫1、什么是繼承?繼承的概念:是類與類的一種關(guān)系,表達(dá)的是“is-a”的關(guān)系動(dòng)物類狗類
父類、基類
子類、派生類1、什么是繼承?生活中的繼承舉例:2、繼承的好處與特點(diǎn)繼承的好處:子類擁有父類的所有屬性和方法。屬性和方法的修飾符不能是private。代碼的復(fù)用特點(diǎn):Java中的繼承是單繼承。3、類的繼承之語法規(guī)則class子類
extends
父類classDogextendsAnimal{.......}4、思考生活中的父類和子類關(guān)系及其描述交通工具——汽車、火車、飛機(jī)長方形——長方體、四棱錐5、方法的重寫什么是方法的重寫?如果子類對(duì)繼承父類的方法不滿意,可以重寫從父類繼承的方法;當(dāng)子類對(duì)象調(diào)用該方法時(shí),優(yōu)先調(diào)用子類的方法。語法規(guī)則:下面的元素與父類繼承的方法相同。
返回值類型
方法名
參數(shù)類型及個(gè)數(shù)4-2構(gòu)造方法的繼承1、子類對(duì)象的構(gòu)造過程2、類的繼承屬性初始化順序3、子類、父類構(gòu)造方法的微妙關(guān)系子類對(duì)象的構(gòu)造過程小孩能夠在父母之前出生嗎?Java語言在創(chuàng)建對(duì)象時(shí),先創(chuàng)建父類對(duì)象,再創(chuàng)建子類對(duì)象。類的繼承屬性初始化順序先執(zhí)行初始化對(duì)象中的屬性,再執(zhí)行構(gòu)造方法中的初始化。先父類、再子類父類對(duì)象屬性初始化構(gòu)造方法子類對(duì)象屬性初始化構(gòu)造方法子類對(duì)象的生成過程父類對(duì)象屬性初始化構(gòu)造方法子類對(duì)象屬性初始化構(gòu)造方法類的構(gòu)造方法如果沒有,系統(tǒng)默認(rèn)提供一個(gè)無參如果有,系統(tǒng)不提供默認(rèn)無參構(gòu)造方法子類構(gòu)造方法與父類構(gòu)造方法的關(guān)系對(duì)應(yīng)性和匹配性如果父類只提供了帶參的構(gòu)造方法而沒有提供默認(rèn)無參的構(gòu)造方法,那么子類構(gòu)造方法中必須顯式的調(diào)用父類帶參的構(gòu)造方法。在子類的構(gòu)造方法中通過super關(guān)鍵字調(diào)用父類的構(gòu)造方法,位于子類構(gòu)造方法第一句。子類、父類構(gòu)造方法的微妙關(guān)系4-3類的繼承實(shí)踐1、長方體類表面積和體積2、P3337長方體、四棱錐的表面積和體積類的繼承實(shí)踐練習(xí)1類的繼承練習(xí)設(shè)計(jì)長方形類,包括:2個(gè)屬性:長inta;寬intb;2個(gè)方法:求周長方法length()和求面積的方法area()設(shè)計(jì)長方形的子類長方體類,包括:1個(gè)屬性:高intc;2個(gè)方法:求表面積的方法area()和求體積的方法volumn()設(shè)計(jì)測試類創(chuàng)建長方體類的對(duì)象,求表面積和體積后進(jìn)行輸出。P3337長方體、四棱錐的表面積和體積
lhwEFABCDO
4-4類的繼承關(guān)鍵字1、instanceof2、
final3、overwrite4、super5、protectedinstanceofinstanceof運(yùn)算符:在運(yùn)行時(shí),指出該對(duì)象是否是指定類或者其子類的一個(gè)實(shí)例返回布爾值
用法:
result=objectinstanceofclass參數(shù):
result:布爾類型。object:必選項(xiàng)。任意對(duì)象表達(dá)式。class:
必選項(xiàng)。任意已定義的類。舉例說明finalfinal修飾類:它修飾的類不能被繼承,稱為最終類。不想被其他類繼承的工具類一般都會(huì)做成最終類,String類和Math類就是最終類。final修飾方法子類不能重寫此方法final修飾屬性在聲明屬性時(shí)或者構(gòu)造方法中為屬性賦值(只能選其一)final修飾變量常量,只能賦值1次overwrite方法的聲明形式:訪問權(quán)限返回類型方法名稱(參數(shù)列表)拋出異常方法的重寫要遵循“兩同、兩小、一大”規(guī)則:“兩同”:方法名相同、形參列表相同“兩小”:子類方法返回值類型<=父類方法返回值類型子類方法聲明拋出的異常類<=父類方法聲明拋出的異常類“一大”:子類方法的訪問權(quán)限>=父類方法的訪問權(quán)限注意:覆蓋方法和被覆蓋方法要么都是類方法,要么都是實(shí)例方法,不能一個(gè)是類方法(static),一個(gè)是實(shí)例方法。super子類覆蓋父類的屬性子類中使用父類的屬性,使用super進(jìn)行限定子類覆蓋父類的方法子類中使用父類的方法,使用super進(jìn)行限定構(gòu)造方法中使用若父類中構(gòu)造方法有參數(shù),子類的構(gòu)造方法必須有參引用父類的構(gòu)造方法,必須在子類構(gòu)造方法的首行protected訪問權(quán)限同包、不同包子類可以訪問4-5上轉(zhuǎn)型對(duì)象1、上轉(zhuǎn)型對(duì)象及其使用2、上型對(duì)象與父類對(duì)象、子類對(duì)象的比較對(duì)象的上轉(zhuǎn)型對(duì)象若A是B的父類或間接父類Aa=newB();則a是上轉(zhuǎn)型對(duì)象上轉(zhuǎn)型對(duì)象特點(diǎn):可以操作子類繼承或覆蓋(隱藏)的成員調(diào)用被覆蓋的屬性和被覆蓋的方法時(shí)表現(xiàn)有質(zhì)的區(qū)別不能操作子類新增的成員(擴(kuò)展的成員)父類屬性方法子類繼承屬性覆蓋屬性擴(kuò)展屬性繼承方法覆蓋方法擴(kuò)展方法上轉(zhuǎn)型對(duì)象使用注意事項(xiàng)使用注意事項(xiàng):不要混淆父類對(duì)象、子類對(duì)象、上轉(zhuǎn)型對(duì)象可以將上轉(zhuǎn)型對(duì)象轉(zhuǎn)換為子類對(duì)象不能將父類對(duì)象的引用賦給子類聲明的對(duì)象4-6上轉(zhuǎn)型對(duì)象和多態(tài)1、方法的多態(tài)2、對(duì)象類型轉(zhuǎn)換方法的多態(tài)上轉(zhuǎn)型對(duì)象調(diào)用重寫的方法程序運(yùn)行期間才確定:上轉(zhuǎn)型對(duì)象指向哪個(gè)具體的類調(diào)用的哪個(gè)類的方法表現(xiàn)出不同的運(yùn)行結(jié)果對(duì)象類型轉(zhuǎn)換父類對(duì)象轉(zhuǎn)子類類型,非法子類對(duì)象轉(zhuǎn)父類類型,自動(dòng)轉(zhuǎn)換上轉(zhuǎn)型對(duì)象轉(zhuǎn)子類類型,強(qiáng)轉(zhuǎn)在轉(zhuǎn)換之前,用instanceof進(jìn)行類型判斷4-7抽象類和接口1、抽象類abstract2、接口interface抽象類由abstract修飾的類叫抽象類。它不能用來生成對(duì)象,只能被繼承。子類繼承后實(shí)現(xiàn)未完成的抽象方法,否則亦為抽象類。抽象類里面可以含有抽象的方法,也可以含有非抽象的方法。抽象方法只提供方法的聲明,但不提供方法體。含抽象方法的類一定是抽象類。使用舉例現(xiàn)實(shí)世界中的接口現(xiàn)實(shí)世界中的接口接口的概念與定義相當(dāng)于抽象類方法:都是抽象方法。前默認(rèn)加:publicabstract屬性:都是常量。前默認(rèn)加:publicstaticfinalJDK8中接口也可以包含非抽象方法default。接口的定義規(guī)則: publicinterfaceUSB{ publicvoidwork();//USB設(shè)備工作方法
publicvoidstop();//USB設(shè)備停止工作方法 }接口的抽象方法在不同實(shí)現(xiàn)類中表現(xiàn)出多態(tài)性。
接口的實(shí)現(xiàn)與繼承接口的實(shí)現(xiàn)類publicclassMouseimplementsUSB一個(gè)類可以實(shí)現(xiàn)多個(gè)接口接口的繼承publicinterfaceAextendsB,C{}抽象類和接口的比較語法層面上的區(qū)別一般意義上,抽象類可以提供成員方法的實(shí)現(xiàn)細(xì)節(jié),接口中只能存在publicabstract方法;(JDK8例外)抽象類中的成員變量可以是各種類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流行業(yè)2025版租賃協(xié)議6篇
- 2025版宿舍樓宿管員職責(zé)聘用合同3篇
- 2025年度新型存款居間代理管理合同4篇
- 2025年度知識(shí)產(chǎn)權(quán)質(zhì)押貸款協(xié)議4篇
- 2025版托盤銷售與新能源車輛運(yùn)輸服務(wù)合同范本3篇
- 2025年度個(gè)人與銀行個(gè)人貸款合作專項(xiàng)協(xié)議4篇
- 二零二五年度嬰幼兒奶粉品牌孵化與市場拓展合同
- 二零二五年度農(nóng)業(yè)企業(yè)職業(yè)經(jīng)理人市場拓展合同4篇
- 二零二五年度團(tuán)購商品房質(zhì)量監(jiān)督協(xié)議2篇
- 二零二五年度因婚外情離婚的財(cái)產(chǎn)分割與子女監(jiān)護(hù)協(xié)議3篇
- 2024版塑料購銷合同范本買賣
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 2024年安徽省中考數(shù)學(xué)試卷含答案
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 2024年滬教版一年級(jí)上學(xué)期語文期末復(fù)習(xí)習(xí)題
- 兩人退股協(xié)議書范文合伙人簽字
- 2024版【人教精通版】小學(xué)英語六年級(jí)下冊全冊教案
- 汽車噴漆勞務(wù)外包合同范本
- 2024年重慶南開(融僑)中學(xué)中考三模英語試題含答案
- 16J914-1 公用建筑衛(wèi)生間
評(píng)論
0/150
提交評(píng)論