版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆高考?xì)v史一輪復(fù)習(xí)模塊四選修部分選修三20世紀(jì)的戰(zhàn)爭與和平第47講第二次世界大戰(zhàn)和雅爾塔體系下的冷戰(zhàn)與和平學(xué)案含解析新人教版
- 小吃店租房合同范例
- 關(guān)于水果店轉(zhuǎn)讓合同范例
- 工廠木材買賣合同范例
- 建筑承攬合同范例
- 定鋪?zhàn)赓U合同范例
- 上海團(tuán)體旅游合同模板
- 廣告公司合同范例
- 化工設(shè)備清洗合同模板
- 公園承包攤位合同范例
- 數(shù)字信號(hào)處理試卷及答案
- 電子商務(wù)運(yùn)營 教案 項(xiàng)目三 網(wǎng)店推廣
- 血栓風(fēng)險(xiǎn)評(píng)估及個(gè)體化干預(yù)(遺傳性易栓癥風(fēng)險(xiǎn)基因檢測)
- 胃管置入術(shù)的規(guī)范操作課件
- 課題-初中數(shù)學(xué)作業(yè)優(yōu)化設(shè)計(jì)的研究研究報(bào)告及課題研究報(bào)告
- 冬季預(yù)防訓(xùn)練傷的
- 2023自動(dòng)扶梯與自動(dòng)人行道扶手帶技術(shù)要求
- 證據(jù)法司考真題
- 機(jī)床行業(yè)培訓(xùn)資料
- 項(xiàng)目管理培訓(xùn)之溝通管理課件
- 過敏性鼻炎與過敏性哮喘的治療
評(píng)論
0/150
提交評(píng)論