版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java 2 實用教程,Java 2: A Beginners Guide,甘朝華,第七章 繼承, 理解繼承的基礎(chǔ)知識 調(diào)用超類構(gòu)造函數(shù) 使用super訪問超類成員 創(chuàng)建多級類層次結(jié)構(gòu) 了解何時調(diào)用構(gòu)造函數(shù) 理解子類對象的超類引用 重寫方法 使用重寫方法實現(xiàn)動態(tài)方法分配 使用抽象類 使用final 了解Object類,繼承是面向?qū)ο蟪绦蛟O(shè)計的三個基本原則之一,它允許創(chuàng)建類層次結(jié)構(gòu)。 Java語言中,被繼承的類稱為超類,繼承類稱為子類。,7.1 繼承的基礎(chǔ)知識,Java通過允許在一個類的聲明中加入另一個類來實現(xiàn)繼承,這需要使用關(guān)鍵字extends。,class TwoDShape double
2、width; double height; void showDim() / ,7.1 繼承的基礎(chǔ)知識,class Triangle extends TwoDShape String style; double area( ) return width * height / 2; void showStyle() / ,7.1 繼承的基礎(chǔ)知識,成員訪問與繼承: private聲明的成員:繼承不會超越private的訪問限制。 protected聲明,7.2 構(gòu)造函數(shù)和繼承,在層次結(jié)構(gòu)中,超類和子類都可以有自己的構(gòu)造函數(shù)。 超類構(gòu)造函數(shù) - 子類構(gòu)造函數(shù) 使用super調(diào)用超類構(gòu)造函數(shù): sup
3、er( parameter-list ); /必須是在子類中第一個執(zhí)行語句。 ?執(zhí)行的是超類的哪一個構(gòu)造函數(shù)?,7.3 使用super訪問超類成員,super的第二種形式的工作方式與this相似,只不過它飲用的是子類的超類。 super.member member是方法或?qū)嵗兞?,?dāng)子類的成員名隱藏了超類的成員名時使用。 練習(xí)7-1 擴(kuò)展Vehicle類,7.4 創(chuàng)建多級層次結(jié)構(gòu),可以創(chuàng)建任意多層繼承組成的層次結(jié)構(gòu)。,TwoDShape,Triangle,ColorTriangle,7.5 何時調(diào)用構(gòu)造函數(shù),按照繼承的順序:超類子類,7.6 超類引用和子類對象,Java是一種類型嚴(yán)格的語言。除
4、了標(biāo)準(zhǔn)轉(zhuǎn)換和應(yīng)用于簡單類型的自動轉(zhuǎn)換外,類型兼容是被嚴(yán)格執(zhí)行的。 class X / class Y / X x = new X(); Y y = new Y(); X x2 = x;/合法 x2 = y;/非法,7.6 超類引用和子類對象,class X / class Y extends X / X x = new X(); Y y = new Y(); X x2 = x;/合法 x2 = y;/合法,7.6 超類引用和子類對象,超類指針的訪問權(quán)限: 它能訪問子類的成員嗎?,7.7 方法重寫,在類層次結(jié)構(gòu)中,當(dāng)子類中的方法與其超類中的方法同名且類型一致(函數(shù)簽名相同)時,那么就稱子類中的方
5、法重寫(override)了超類中的方法。 在一個子類中調(diào)用被重寫方法時,它總是引用子類中定義的方法,而超類中定義的方法將被隱藏。,7.8 重寫的方法支持多態(tài)性,方法重寫構(gòu)成了Java最強(qiáng)大的概念之一:動態(tài)方法分配(dynamic method dispatch)。 動態(tài)方法分配是一種機(jī)制,通過該機(jī)制對一個被重寫方法的調(diào)用會在運(yùn)行期解決,而不是在編譯期解決。 演示 多態(tài)運(yùn)行期調(diào)用,7.8 重寫的方法支持多態(tài)性,1、為何使用重寫的方法 使得Java支持運(yùn)行時多態(tài)性。 是面向?qū)ο蟪绦蛟O(shè)計的特性之一。 2、在TwoDShape中應(yīng)用方法重寫 講解 例題,7.9 使用抽象類,抽象類只定義為所有子類共享
6、的一般形式,至于細(xì)節(jié)則交給每一個子類去填充實現(xiàn)。 接口(Interface) 抽象方法(abstract method) 通過abstract類型修飾符來創(chuàng)建 abstract type name( parameter-list ); abstract不能用于static方法或構(gòu)造函數(shù)。 包含一個或多個抽象方法的類必須通過在其class聲明前添加abstract修飾符將其聲明為抽象類。,7.10 使用final,用于阻止方法重寫和繼承。,7.10 使用final,1、使用final防止重寫 class A final void meth( ) / class B extends A void meth( ) /Error / ,7.10 使用final,2、使用final防止繼承 final class A / class B extends A /Error / ,7.10 使用final,3、數(shù)據(jù)成員使用final 值在程序的生命期中不能改變。 class ErrorMsg final int OUTERR = 0; final int INERR = 1; final int DISKERR = 2; fina
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年廣東江門中醫(yī)藥職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 2026年廣西水利電力職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫有答案解析
- 2026年福建農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性考試模擬試題帶答案解析
- 2026年貴州健康職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 2026年衡水職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題有答案解析
- 2026年湖南高爾夫旅游職業(yè)學(xué)院單招職業(yè)技能考試參考題庫帶答案解析
- 2026年河南護(hù)理職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫帶答案解析
- 企業(yè)消防安全應(yīng)急演練方案
- 全過程工程造價咨詢(含竣工結(jié)算)實施方案
- 網(wǎng)絡(luò)安全護(hù)網(wǎng)應(yīng)急演練實施方案
- 醫(yī)院培訓(xùn)課件:《提高術(shù)后管道標(biāo)識完備率》
- 工程施工及安全管理制度
- 企業(yè)域名與域名管理制度
- 遺產(chǎn)分割協(xié)議書
- 形神拳動作名稱與圖解
- 博士生入學(xué)復(fù)試面試報告?zhèn)€人簡歷介紹含內(nèi)容模板兩篇
- 食品工廠設(shè)計 課件 第二章 廠址選擇
- 2023年生產(chǎn)車間各類文件匯總
- WORD版A4橫版密封條打印模板(可編輯)
- 2013標(biāo)致508使用說明書
- GB/T 18993.1-2020冷熱水用氯化聚氯乙烯(PVC-C)管道系統(tǒng)第1部分:總則
評論
0/150
提交評論