




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Java語言程序設計第四章類的繼承與多態4-1類的繼承1、什么是繼承2、繼承的好處與特點3、類的繼承語法規則4、思考:用Java表示生活中的繼承關系5、方法的重寫1、什么是繼承?繼承的概念:是類與類的一種關系,表達的是“is-a”的關系動物類狗類
父類、基類
子類、派生類1、什么是繼承?生活中的繼承舉例:2、繼承的好處與特點繼承的好處:子類擁有父類的所有屬性和方法。屬性和方法的修飾符不能是private。代碼的復用特點:Java中的繼承是單繼承。3、類的繼承之語法規則class子類
extends
父類classDogextendsAnimal{.......}4、思考生活中的父類和子類關系及其描述交通工具——汽車、火車、飛機長方形——長方體、四棱錐5、方法的重寫什么是方法的重寫?如果子類對繼承父類的方法不滿意,可以重寫從父類繼承的方法;當子類對象調用該方法時,優先調用子類的方法。語法規則:下面的元素與父類繼承的方法相同。
返回值類型
方法名
參數類型及個數4-2構造方法的繼承1、子類對象的構造過程2、類的繼承屬性初始化順序3、子類、父類構造方法的微妙關系子類對象的構造過程小孩能夠在父母之前出生嗎?Java語言在創建對象時,先創建父類對象,再創建子類對象。類的繼承屬性初始化順序先執行初始化對象中的屬性,再執行構造方法中的初始化。先父類、再子類父類對象屬性初始化構造方法子類對象屬性初始化構造方法子類對象的生成過程父類對象屬性初始化構造方法子類對象屬性初始化構造方法類的構造方法如果沒有,系統默認提供一個無參如果有,系統不提供默認無參構造方法子類構造方法與父類構造方法的關系對應性和匹配性如果父類只提供了帶參的構造方法而沒有提供默認無參的構造方法,那么子類構造方法中必須顯式的調用父類帶參的構造方法。在子類的構造方法中通過super關鍵字調用父類的構造方法,位于子類構造方法第一句。子類、父類構造方法的微妙關系4-3類的繼承實踐1、長方體類表面積和體積2、P3337長方體、四棱錐的表面積和體積類的繼承實踐練習1類的繼承練習設計長方形類,包括:2個屬性:長inta;寬intb;2個方法:求周長方法length()和求面積的方法area()設計長方形的子類長方體類,包括:1個屬性:高intc;2個方法:求表面積的方法area()和求體積的方法volumn()設計測試類創建長方體類的對象,求表面積和體積后進行輸出。P3337長方體、四棱錐的表面積和體積
lhwEFABCDO
4-4類的繼承關鍵字1、instanceof2、
final3、overwrite4、super5、protectedinstanceofinstanceof運算符:在運行時,指出該對象是否是指定類或者其子類的一個實例返回布爾值
用法:
result=objectinstanceofclass參數:
result:布爾類型。object:必選項。任意對象表達式。class:
必選項。任意已定義的類。舉例說明finalfinal修飾類:它修飾的類不能被繼承,稱為最終類。不想被其他類繼承的工具類一般都會做成最終類,String類和Math類就是最終類。final修飾方法子類不能重寫此方法final修飾屬性在聲明屬性時或者構造方法中為屬性賦值(只能選其一)final修飾變量常量,只能賦值1次overwrite方法的聲明形式:訪問權限返回類型方法名稱(參數列表)拋出異常方法的重寫要遵循“兩同、兩小、一大”規則:“兩同”:方法名相同、形參列表相同“兩小”:子類方法返回值類型<=父類方法返回值類型子類方法聲明拋出的異常類<=父類方法聲明拋出的異常類“一大”:子類方法的訪問權限>=父類方法的訪問權限注意:覆蓋方法和被覆蓋方法要么都是類方法,要么都是實例方法,不能一個是類方法(static),一個是實例方法。super子類覆蓋父類的屬性子類中使用父類的屬性,使用super進行限定子類覆蓋父類的方法子類中使用父類的方法,使用super進行限定構造方法中使用若父類中構造方法有參數,子類的構造方法必須有參引用父類的構造方法,必須在子類構造方法的首行protected訪問權限同包、不同包子類可以訪問4-5上轉型對象1、上轉型對象及其使用2、上型對象與父類對象、子類對象的比較對象的上轉型對象若A是B的父類或間接父類Aa=newB();則a是上轉型對象上轉型對象特點:可以操作子類繼承或覆蓋(隱藏)的成員調用被覆蓋的屬性和被覆蓋的方法時表現有質的區別不能操作子類新增的成員(擴展的成員)父類屬性方法子類繼承屬性覆蓋屬性擴展屬性繼承方法覆蓋方法擴展方法上轉型對象使用注意事項使用注意事項:不要混淆父類對象、子類對象、上轉型對象可以將上轉型對象轉換為子類對象不能將父類對象的引用賦給子類聲明的對象4-6上轉型對象和多態1、方法的多態2、對象類型轉換方法的多態上轉型對象調用重寫的方法程序運行期間才確定:上轉型對象指向哪個具體的類調用的哪個類的方法表現出不同的運行結果對象類型轉換父類對象轉子類類型,非法子類對象轉父類類型,自動轉換上轉型對象轉子類類型,強轉在轉換之前,用instanceof進行類型判斷4-7抽象類和接口1、抽象類abstract2、接口interface抽象類由abstract修飾的類叫抽象類。它不能用來生成對象,只能被繼承。子類繼承后實現未完成的抽象方法,否則亦為抽象類。抽象類里面可以含有抽象的方法,也可以含有非抽象的方法。抽象方法只提供方法的聲明,但不提供方法體。含抽象方法的類一定是抽象類。使用舉例現實世界中的接口現實世界中的接口接口的概念與定義相當于抽象類方法:都是抽象方法。前默認加:publicabstract屬性:都是常量。前默認加:publicstaticfinalJDK8中接口也可以包含非抽象方法default。接口的定義規則: publicinterfaceUSB{ publicvoidwork();//USB設備工作方法
publicvoidstop();//USB設備停止工作方法 }接口的抽象方法在不同實現類中表現出多態性。
接口的實現與繼承接口的實現類publicclassMouseimplementsUSB一個類可以實現多個接口接口的繼承publicinterfaceAextendsB,C{}抽象類和接口的比較語法層面上的區別一般意義上,抽象類可以提供成員方法的實現細節,接口中只能存在publicabstract方法;(JDK8例外)抽象類中的成員變量可以是各種類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場空調維護合同范本
- 魚池出租轉讓合同范本
- 機械購銷合同范本清單
- 路燈維修驗收合同范本
- 購房委托還款合同范本
- 旅游巴士租車合同范本
- 廚房移門合同范本
- 門店供銷合同范本
- 2025工程設備租賃合同律師版
- 2025企業外匯設備貸款合同范本
- 《形象塑造與職場妝容》課件
- 2025年度國土空間規劃編制服務聘用合同范本
- 2025年高考作文備考之7個頂級人物素材
- 2024年09月2024年中國工商銀行校園招聘筆試歷年參考題庫附帶答案詳解
- 低血糖的識別及處理課件
- 骨折病人的中醫飲食護理
- 內蒙古科技館新館展陳創新方案
- 中國鹽業集團有限公司 筆試 內容
- 大模型原理與技術-課件 chap6 大模型微調
- 單層輕鋼結構施工方案
- 中醫藥文化節活動方案
評論
0/150
提交評論