版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、多 態(tài)多態(tài)(Polymorphism)按字面的意思就是“多種狀態(tài)”,是面象的程序設(shè)計語言最的特征。從一定角度來看,封裝和繼承幾乎都是為多態(tài)而準(zhǔn)備的。多 態(tài)現(xiàn)實(shí)中,關(guān)于多態(tài)的例子不勝枚舉。動物們都有吃東西,跑,跳,叫的方法,不同的動物表現(xiàn)方式不同按下 F1 鍵這個動作,針對當(dāng)前工作窗口,顯示不同工具的幫助文檔多態(tài)的分類1、編譯時多態(tài)(設(shè)計時多態(tài)):方法重載。2、運(yùn)行時多態(tài):JAVA運(yùn)行時系統(tǒng)根據(jù)調(diào)用該方法的實(shí)例的類型來決定選擇調(diào)用哪個方法則被稱為運(yùn)行時多態(tài)。平時說得多態(tài),多指運(yùn)行時多態(tài)多 態(tài)一個變量倒底會指向哪個類的實(shí)例對象,該變量發(fā)出的方法調(diào)用到底是哪個類中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能
2、決定。多 態(tài)必要條件: 滿足繼承關(guān)系 父類指向子類對象程序中的繼承多 態(tài)向上類型轉(zhuǎn)換(Upcast):將子類型轉(zhuǎn)換為父類型。隱式/自動類型轉(zhuǎn)換,是小類型到大類型的轉(zhuǎn)換對于向上的類型轉(zhuǎn)換,不需要顯示指定,即不需要加上前面的小括號和父類類型名多 態(tài)向下類型轉(zhuǎn)換(Downcast):將父類型轉(zhuǎn)換為子類型。將一個指向子類對象的父類賦值給一個子類的強(qiáng)制類型轉(zhuǎn)換,是大類型到小類型父類型的也會編譯出錯必須指向的子類的對象,即指向誰才能轉(zhuǎn)換成誰。不然通過instanceof運(yùn)算符,來解決全性問題,提高代碼的強(qiáng)壯性。對象的類型,避免類型轉(zhuǎn)換的安多 態(tài)注意:1、父類指向子類實(shí)例時,可以調(diào)用子類重寫父類的方法以及直
3、接繼承父類的方法,無法調(diào)用子類特有的方法。2、靜態(tài)sic方法屬于特殊情況,靜態(tài)方法只能繼承,不能重寫。調(diào)用的時候用誰的,則調(diào)用誰的版本。程序中的繼承問題?以下代碼語法沒問題,但實(shí)例化Pet沒有意義Animal pet = new Animal (花花,2);pet.eat();抽象類Java中使用抽象類,限制實(shí)例化public abstract class Animal 抽象類應(yīng)用場景:某個父類只是知道其子類應(yīng)該包含怎樣的方法,但無法準(zhǔn)確知道這些子類如何實(shí)現(xiàn)這些方法。抽象類以下代碼問題?每個子類中的具體方法的實(shí)現(xiàn)不同public abstract class Animalpublic void
4、 eat() /抽象方法abstract也可用于方法抽象方法抽象方法沒有方法體抽象方法必須在抽象類里抽象方法必須在子類中被實(shí)現(xiàn),除非子類是抽象類public abstract void eat();抽象類 & 抽象方法使用規(guī)則1.2.abstract定義抽象類抽象類不能直接實(shí)例化,只能被繼承,可以通過向上象實(shí)例完成對abstract定義抽象方法,不需要具體實(shí)現(xiàn)包含抽象方法的類是抽象類抽象類 & 抽象方法使用規(guī)則抽象類中可以沒有抽象方法子類如果沒有重寫父類所有的抽象方法,則也要定義為抽象類7. abstract 不能與sic、final、private共存8. 抽象方法在子類實(shí)現(xiàn)時權(quán)限必須大于等
5、于父類方法接口接口定義了某一批類所需要遵守的規(guī)范接口不關(guān)心這些類的數(shù)據(jù),也不關(guān)心這些類里方法的實(shí)現(xiàn)細(xì)節(jié),它只規(guī)定這些類里必須提供某些方法接口語法:修飾符erface 接口名 extends 父接口1,父接口2零個到多個常量定義零個到多個抽象方法的定義零個到多個默認(rèn)方法的定義(jdk1.8新增)零個到多個靜態(tài)方法方法的定義(jdk1.8新增)接口的語則接口及接口成員默認(rèn)的權(quán)限為:public 或 默認(rèn)常量默認(rèn)添加 sic final 關(guān)鍵字抽象方法默認(rèn)添加 abstract 關(guān)鍵字只有default方法及sic方法可以添加方法體接口的語則實(shí)現(xiàn)接口的類如果不能實(shí)現(xiàn)所有接口中待重寫的方法,則必須設(shè)置
6、為抽象類接口可以實(shí)現(xiàn)多繼承,即一個子接口可以同時繼承多個父接口一個類可以繼承自一個父類,同時實(shí)現(xiàn)多個接口當(dāng)一個類同時實(shí)現(xiàn)多接口,且其中同時具有相同方法時,實(shí)現(xiàn)類需重寫該方法,否則會編譯報錯類在Java中,可以將一個類定義在另一個類里面或者一個方法里面,這樣的類稱為與之對應(yīng),包含類類的類被稱為外部類。類類類提供了更好的封裝,可以把類隱藏在外部類之內(nèi),不允許同一個包中的其他類該類,更好的實(shí)現(xiàn)了信息隱藏。類的分類成員靜態(tài)方法類類類類成員類中最常見的就是成員類類,也稱為普通類成員類類相當(dāng)于外部類的一個成員變量,可以使用任意修飾符。類中定義的方法可以直接符的影響。外部類中的數(shù)據(jù),而不受控制外部類不能直接
7、使用。類的成員和方法,需要借由類對象完成需要通過外部類對象來創(chuàng)建類實(shí)例。成員類如果外部類和類具有相同的成員,類默認(rèn)優(yōu)先自己的成員;可以通過“外部類.this.對象成員” 以及“外部類.靜態(tài)成員” 的方式外部類成員。編譯后產(chǎn)生:外部類$類.class靜態(tài)類靜態(tài)靜態(tài)類對象可以不依賴于外部類對象,直接創(chuàng)建。類不能直接外部類的非靜態(tài)成員,但可以通過“外部類對象.成員” 的方式。外部類中可以通過“類名.成員名”的方式直接類中靜態(tài)成員方法類定義在外部類方法中的類,也稱局部類。方法使用。方法類只在其定義所在的方法的可見,即只在該方法內(nèi)可以類不能使用控制符和 sic 修飾符,但可以使用final和abstra
8、ct修飾。編譯后產(chǎn)生:外部類$數(shù)字.class類如果某個類的實(shí)例只是用一次,則可以將類的定義與類的創(chuàng)建,放到一起完成,或者說在定義類的同時就創(chuàng)建一個類。以這種方法定義的沒有名字的類稱為類。類適用場景:只用到類的一個實(shí)例類在定義后馬上用到給類命名并不會導(dǎo)致代碼更容易被理解類使用原則:不能有構(gòu)造方法,可以通過構(gòu)造代碼塊實(shí)現(xiàn)數(shù)據(jù)初始化。不能定義任何靜態(tài)成員、靜態(tài)方法。 不能使用public、protected、private、s修飾。ic、abstract、final 因生效。類也是局部類,所以局部類的所有限制都對其類使用原則: 一個類一定是在new的后面,用其隱含實(shí)現(xiàn)一個接口或繼承一個類,但是兩者不可兼得。 只
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 擔(dān)保合同協(xié)議書書
- 顧問聘用合同書
- 2025年小區(qū)綠化景觀保護(hù)合同
- 2025年實(shí)體書籍出版合同
- 2025年度個人綠色環(huán)保貸款合同標(biāo)準(zhǔn)范本3篇
- 2025版數(shù)字創(chuàng)意產(chǎn)業(yè)園區(qū)運(yùn)營管理服務(wù)合同3篇
- 金融借貸合同
- 賣地合同范本
- 2025年度個人二手衣物及鞋帽交易合同4篇
- 2025年度新能源汽車充電樁安裝與維護(hù)個人聘用合同4篇
- 勵志課件-如何做好本職工作
- 2024年山東省濟(jì)南市中考英語試題卷(含答案解析)
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 靜脈治療護(hù)理技術(shù)操作標(biāo)準(zhǔn)(2023版)解讀 2
- 2024年全國各地中考試題分類匯編(一):現(xiàn)代文閱讀含答案
- 2024-2030年中國戶外音箱行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- GB/T 30306-2024家用和類似用途飲用水處理濾芯
- 家務(wù)分工與責(zé)任保證書
- 武強(qiáng)縣華浩數(shù)控設(shè)備科技有限公司年產(chǎn)9000把(只)提琴、吉他、薩克斯等樂器及80臺(套)數(shù)控雕刻設(shè)備項目環(huán)評報告
- 消防安全隱患等級
評論
0/150
提交評論