下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、抽象類的基本概念前面對類的繼承進(jìn)行了初步的講解,通過繼承可以從原來的類中派生出新的類。原有的類稱 為基類或父類,而新的類則稱為子類或者派生類,通過繼承機(jī)制,派生出的新類不僅可以保 留原有類的功能,而且還可以擁有更多的功能。除了上述機(jī)制,在java中也可以創(chuàng)建一種 類專門用來作為父類,這種類稱為“抽象類”。抽象類的作用類似“模板”,其目的是要設(shè)計(jì) 者依據(jù)它的格式來修改并創(chuàng)建新的類,但是并不能直接市抽象類創(chuàng)建模板,只能通過抽象類 派生出新的類,然后再由子類進(jìn)行創(chuàng)建對象。但是抽象類的使用同樣存在單繼承的局限,即 一個(gè)子類只能繼承一個(gè)抽象類。抽象類的定義及使用規(guī)則:包含一個(gè)抽象方法的類必須是抽象類;抽
2、象類和抽象方法都要使用abstract關(guān)鍵字聲明;抽象方法只需聲明而不需要實(shí)現(xiàn);抽象類必須被子類繼承,子類(如果不是抽象類)必須覆寫抽象類中的全部抽象方法?!径x一個(gè)抽象類】abstract class a public static final string flag=uzhaon;private string name = n zhaoxe"public string getname()return name;/取得姓名public void setname()this.rmme = name; /設(shè)置姓名public abstract void print ();/定義抽象方法
3、在a類中,以為定義類print()的抽樣方法,所以此類必須聲明為抽象類。子類必須覆寫抽象 類中所有的抽象方法:【繼承抽象類】abstract class a publie static final string flag=h zhaon ;private string name = "zhaoxe"public string getname()return name;/取得姓名public void setname()this neme = name; /設(shè)置姓名public abstract void print ();/定義抽象方法class b extends aov
4、erridepublic void print()system. out .print丄n ( nf lag=,4-fiiag;);system. out: .print丄n ("姓名:"+super getname ();public class abstractd0moo2 public static void main(string args) b b=new b () ;/實(shí)例化子類對象b .print () ; /調(diào)用子類覆寫過的方法運(yùn)行結(jié)杲為: w w wflag=zhao性名:zhaoxe從上程序完成了抽象類的基本操作,子類覆寫了抽彖方法,然后在主方法屮通過子
5、類實(shí)例化 的對象進(jìn)行方法的調(diào)用。抽象類的思考:1. 一個(gè)抽象類可以使用final關(guān)鍵字聲明嗎?2. 一個(gè)抽象類中可以定義構(gòu)造方法嗎?對于第一個(gè)問題,從之前講解的概念知道,一個(gè)類如果使用了 final關(guān)鍵字聲明,則此類不 能被子類繼承,而抽彖類又必須被子類覆寫,所以明顯第一個(gè)問題的答案是一個(gè)抽彖類不能 用final關(guān)鍵字聲明。抽象方法不要用private聲明。第二個(gè)問題我們用實(shí)例講解:【在抽象類屮定義構(gòu)造方法】abstract class apublic a()system.out.println("a 的構(gòu)造方法”);class b extends apublic b()system
6、.out.println("b 的構(gòu)造方法”);public class abstractdemo03public static void main (string args)b b=new b(); /實(shí)例化子類對象運(yùn)行結(jié)果為:a的構(gòu)造方法b的構(gòu)造方法從上述程序可以看出抽象類中定義了構(gòu)造方法,但是定義的構(gòu)造方法不能被外部直接調(diào)用, 必須由實(shí)例化的子類對象進(jìn)行調(diào)用,在實(shí)例化子類對象時(shí)同樣會默認(rèn)調(diào)用父類中的構(gòu)造方法, 也就是說此時(shí)的子類實(shí)際上隱含了 super關(guān)鍵字調(diào)用構(gòu)造方法的語句。既然子類可以通過super調(diào)用父類中的構(gòu)造方法,那么可以在子類中指定調(diào)用父類中的指定 參數(shù)的構(gòu)造方法。
7、【調(diào)用指定參數(shù)的構(gòu)造方法】abstract class personprivate string name;private int age;public person(string namejnt age)this.setname( name); this.setage(age);設(shè)置姓名public void setname(string name)this, name 二 n ame;獲取姓名public string getname()return name;設(shè)置年齡public void setage(int age) this.age=age;獲得年齡public int getag
8、e()return age;public abstract string getlnfof);/取得信息的抽象方法class student extends personprivate string school;public student(string name,int age,string school) super(name,age);/調(diào)用父類屮的構(gòu)造方法 this.setschool(school);設(shè)置學(xué)校public void setschool(string school)this.school=school;取得學(xué)校public stri ng getschool()return school;覆寫父類中的抽象方法public string getlnfo()return ame:"+super.getname()+"age:"+super.getage()+"school:"+school; public class abstractdemo04public static void main(string args)student s=new student"張三”,21,”zzu“);system.out.println(s.getlnfo();運(yùn)行結(jié)果為:name:張三 age:
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)村個(gè)人地基使用權(quán)轉(zhuǎn)讓及宅基地置換合同3篇
- 2025年農(nóng)村堰塘生態(tài)農(nóng)業(yè)與鄉(xiāng)村旅游合作開發(fā)合同
- 2025年度員工薪酬福利及晉升管理體系工資合同3篇
- 二零二五年度航空航天配件賒銷服務(wù)合同3篇
- 二零二五年度數(shù)據(jù)中心機(jī)房租賃協(xié)議含網(wǎng)絡(luò)及安全服務(wù)3篇
- 二零二五年度戀愛關(guān)系維系與責(zé)任分配協(xié)議3篇
- 二零二五年度企業(yè)年會禮品定制及派發(fā)合同3篇
- 2025合同樣例項(xiàng)目工程建設(shè)合作合同范本
- 二零二五年度養(yǎng)殖產(chǎn)業(yè)鏈供應(yīng)鏈金融服務(wù)合同書人3篇
- 2025年度新材料研發(fā)營銷策劃合作協(xié)議3篇
- 初二期末班主任學(xué)生評語
- YY/T 0338.1-2002氣管切開插管 第1部分:成人用插管及接頭
- GB/T 32491-2016玻璃纖維增強(qiáng)熱固性樹脂管及管件長期靜水壓試驗(yàn)方法
- 書名號測試的文檔
- 交大醫(yī)學(xué)院研究生現(xiàn)代免疫學(xué)基礎(chǔ)和進(jìn)展《免疫學(xué)原理》考試重點(diǎn)
- 全文解讀改革開放簡史專題解讀
- 熱電廠工程燃煤系統(tǒng)施工方案
- 福建省南平市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 金融科技課件(完整版)
- 中國建筑史經(jīng)典題型
- 計(jì)算機(jī)信息系統(tǒng)分級保護(hù)方案
評論
0/150
提交評論