java類(lèi)的繼承和多態(tài)

java類(lèi)的繼承和多態(tài)

ID:33570234

大?。?0.00 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-02-27

java類(lèi)的繼承和多態(tài)_第1頁(yè)
java類(lèi)的繼承和多態(tài)_第2頁(yè)
java類(lèi)的繼承和多態(tài)_第3頁(yè)
java類(lèi)的繼承和多態(tài)_第4頁(yè)
java類(lèi)的繼承和多態(tài)_第5頁(yè)
資源描述:

《java類(lèi)的繼承和多態(tài)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、第八章類(lèi)的繼承和多態(tài)教學(xué)目的:深刻理解類(lèi)的繼承教學(xué)內(nèi)容:1、類(lèi)的繼承和實(shí)現(xiàn)2、構(gòu)造器的調(diào)用3、防止類(lèi)的繼承一、類(lèi)的繼承和實(shí)現(xiàn)所謂繼承就是在已經(jīng)存在類(lèi)的基礎(chǔ)上再擴(kuò)展新的類(lèi)。已經(jīng)存在的類(lèi)我們稱父類(lèi)、超類(lèi)、基類(lèi)。新產(chǎn)生的類(lèi),我們稱子類(lèi)、派生類(lèi)。子類(lèi)擁有父類(lèi)的所有特性。當(dāng)然我們也可以在子類(lèi)中添加新的方法和成員變量,這些新添加的方法和成員變量?jī)H僅屬于子類(lèi)。在Java中通過(guò)關(guān)鍵字“extends”來(lái)實(shí)現(xiàn)。比如在學(xué)生類(lèi)中,有一種特殊的學(xué)生就是學(xué)生干部,他們出來(lái)?yè)碛泻推胀▽W(xué)生一樣的方法和屬性之外,有的有一個(gè)職務(wù)描述(Duty)。我們定義學(xué)生管理類(lèi)ClassManger,它擁有父類(lèi)

2、的所有的方法和屬性。一般來(lái)講,應(yīng)該把相對(duì)通用的方法都放在父類(lèi)中,只有更具體和專(zhuān)門(mén)的方法放在子類(lèi)中。1、對(duì)于學(xué)生干部而言,我們要添加一個(gè)屬性就可以了privateStringduty=””;2、但是student里的print()就不能滿足我們的ClassMange的要求了。而且student的構(gòu)造方法也不能直接用來(lái)ClassMange上。那么我們?cè)趺炊xClassMange()和print()呢?如果重新寫(xiě)很麻煩,可不可以在父類(lèi)方法的基礎(chǔ)上修改呢?只要使用關(guān)鍵字super就可以了。this:一個(gè)對(duì)象的引用。super:是用來(lái)告訴編譯器調(diào)用父類(lèi)的方法的關(guān)鍵字。代碼如

3、下:classschool{publicstaticvoidmain(String[]args){student[]stu=newstudent[3];stu[0]=newClassMange("章三","2009001","班長(zhǎng)");stu[1]=newstudent("李四","2009002");stu[2]=newstudent("王五","2009003");/*for(inti=0;i

4、print();}}classstudent{privateStringname;//定義學(xué)生姓名privateStringID;//定義學(xué)生學(xué)號(hào)privateStringsex="";//定義學(xué)生性別privateStringspeci="";//定義學(xué)生專(zhuān)業(yè)//構(gòu)造方法publicstudent(Stringname,StringID){this.name=name;this.ID=ID;}publicstudent(Stringname,StringID,Stringsex,Stringspeic){this.name=name;this.ID=ID;thi

5、s.sex=sex;this.speci=speic;}//訪問(wèn)器publicStringgetName(){returnname;}publicStringgetID(){returnID;}publicStringgetSex(){returnsex;}publicStringgetSpeci(){returnspeci;}//設(shè)置器publicvoidsetSex(Stringsex){this.sex=sex;}publicvoidsetSpeci(Stringspeci){this.speci=speci;}//打印方法publicvoidprint()

6、{System.out.println("學(xué)生學(xué)號(hào):"+ID+"學(xué)生姓名:"+name);if(!sex.equals(""))System.out.println("性別="+sex);if(!speci.equals(""))System.out.println("專(zhuān)業(yè)="+speci);}}classClassMangeextendsstudent{privateStringduty="";publicClassMange(Stringname,StringID,Stringduty){super(name,ID);//調(diào)用父類(lèi)的構(gòu)造方法,初始化相關(guān)字段

7、this.duty=duty;}publicStringgetDuty(){returnduty;}publicvoidprint(){super.print();if(!duty.equals(""))System.out.println("職務(wù):"+duty);}}總結(jié)子類(lèi)和父類(lèi)的關(guān)系:1、子類(lèi)完全繼承父類(lèi)的所有的屬性和方法,子類(lèi)的對(duì)象只可以調(diào)用父類(lèi)里公共的屬性和方法。2、子類(lèi)可以添加自己的屬性和方法。3、子類(lèi)調(diào)用父類(lèi)的構(gòu)造方法使用spuer(),但是要寫(xiě)在子類(lèi)構(gòu)造器的第一行。4、子類(lèi)可以使用調(diào)用spuer.方法名(),調(diào)用父類(lèi)中的方法。5、子類(lèi)重寫(xiě)父類(lèi)中的同

8、名方法叫做

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。