java類(lèi)的繼承

java類(lèi)的繼承

ID:20827303

大?。?27.00 KB

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

時(shí)間:2018-10-15

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

《java類(lèi)的繼承》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、繼承0本節(jié)學(xué)習(xí)目標(biāo):1.繼承的思想2.JAVA語(yǔ)言繼承的實(shí)現(xiàn)11、什么是繼承?面向?qū)ο蟪绦蛟O(shè)計(jì)中,可以在已有類(lèi)的基礎(chǔ)上定義新的類(lèi),而不需要把已有類(lèi)的內(nèi)容重新書(shū)寫(xiě)一遍,這就叫做繼承。已有的類(lèi)稱(chēng)為基類(lèi)或父類(lèi),在此基礎(chǔ)上建立的新類(lèi)稱(chēng)為派生類(lèi)或子類(lèi)。運(yùn)用繼承,父類(lèi)的特性不必再重新定義,就可以被其它類(lèi)繼承。繼承是面向?qū)ο缶幊碳夹g(shù)的一個(gè)重要機(jī)制。較好地解決了代碼重用問(wèn)題。任何一個(gè)類(lèi)都可以作為基類(lèi),從這個(gè)基類(lèi)可以派生出多個(gè)子類(lèi),這些派生的類(lèi)不僅具有基類(lèi)的特征,而且還可以定義自己獨(dú)有的特征。22、java語(yǔ)言中繼承的定義定義繼承的形式為:[類(lèi)修飾符]class類(lèi)名[e

2、xtends父類(lèi)]{類(lèi)體}兩個(gè)類(lèi)之間的繼承關(guān)系由extends關(guān)鍵字指明。33、舉例1classPerson{Stringname;privateintage;Person(Stringn,inta){name=n;age=a;}publicvoidprint(){System.out.println(“Mynameis”+name+”.”);}}classStudentextendsPerson{privatefloatjava,english;Student(Stringn,inta,floatj,floate){super(n,a);java=j

3、;english=e;}voidshow(){System.out.println(“javascoreis”+java+”.”);System.out.println(“engscoreis”+english+”.”);}}4舉例1(續(xù))classXuesheng{publicstaticvoidmain(String[]args){Students1=newStudent("tct1",18,67,89);s1.show();}}5◆如果子類(lèi)繼承了父類(lèi),則子類(lèi)自動(dòng)具有父類(lèi)的全部數(shù)據(jù)成員(數(shù)據(jù)結(jié)構(gòu))和成員方法(功能);但是,子類(lèi)對(duì)父類(lèi)成員的訪問(wèn)有所限

4、制;◆子類(lèi)可以定義自己的數(shù)據(jù)成員和成員函數(shù),同時(shí)也可以修改父類(lèi)的數(shù)據(jù)成員或重寫(xiě)父類(lèi)的方法;◆父類(lèi)、子類(lèi)都是“相對(duì)”的;◆在Java中,Object類(lèi)為特殊超類(lèi)或基類(lèi),所有的類(lèi)都直接或間接地繼承Object;◆Java語(yǔ)言只支持單繼承,如果要使用多繼承的機(jī)制,可以運(yùn)用將要講解的接口(interface)。4、關(guān)于JAVA語(yǔ)言繼承的幾點(diǎn)說(shuō)明:65、包括繼承的類(lèi)成員訪問(wèn)權(quán)限private:只允許該成員自身所屬的類(lèi)訪問(wèn),不允許子類(lèi)訪問(wèn);默認(rèn)修飾符:允許定義它的類(lèi)自身以及處于同一個(gè)包中的其它類(lèi)訪問(wèn)(包括子類(lèi));不允許不同包中的子類(lèi)訪問(wèn);protected:保護(hù)成

5、員,允許定義它的類(lèi)自身以及處于同一個(gè)包中的其它類(lèi)訪問(wèn)(包括子類(lèi));還允許不同包中的子類(lèi)訪問(wèn)。public:允許所有類(lèi)訪問(wèn)該成員;在同一包中,子類(lèi)可以訪問(wèn)父類(lèi)除私有成員(private修飾的)之外的所有屬性和方法。7被本類(lèi)訪問(wèn)被同一包中的其他類(lèi)訪問(wèn)被不同包中的其他類(lèi)訪問(wèn)被子類(lèi)訪問(wèn)(相同包)被子類(lèi)訪問(wèn)(不同包)Private允許不允許不允許不允許不允許默認(rèn)修飾符允許允許不允許允許不允許Protected允許允許不允許允許允許Public允許允許允許允許允許類(lèi)成員的訪問(wèn)權(quán)限小結(jié):86、繼承中構(gòu)造函數(shù)的調(diào)用(1)在創(chuàng)建一個(gè)子類(lèi)對(duì)象時(shí),系統(tǒng)通過(guò)子類(lèi)的構(gòu)造函數(shù)首先

6、調(diào)用父類(lèi)的構(gòu)造函數(shù),然后執(zhí)行子類(lèi)構(gòu)造函數(shù)中的其余語(yǔ)句;(2)子類(lèi)構(gòu)造函數(shù)使用“super()”調(diào)用父類(lèi)構(gòu)造函數(shù),super調(diào)用要作為子類(lèi)構(gòu)造函數(shù)的第一條語(yǔ)句;(3)如果子類(lèi)構(gòu)造函數(shù)中沒(méi)有super調(diào)用,同時(shí)父類(lèi)中不存在帶形參的構(gòu)造函數(shù),則Java會(huì)自動(dòng)加一條默認(rèn)的super()來(lái)調(diào)用父類(lèi)構(gòu)造函數(shù),負(fù)責(zé)父類(lèi)數(shù)據(jù)成員的初始化,否則系統(tǒng)認(rèn)為存在語(yǔ)法錯(cuò)誤;(4)如果父類(lèi)聲明了帶有形參表的構(gòu)造函數(shù),子類(lèi)就應(yīng)當(dāng)聲明帶形參的構(gòu)造函數(shù),同時(shí)在子類(lèi)構(gòu)造函數(shù)的第一條語(yǔ)句提供一個(gè)帶形參的super調(diào)用,提供一個(gè)將參數(shù)傳遞給父類(lèi)構(gòu)造函數(shù)的途徑,保證在進(jìn)行初始化父類(lèi)時(shí)能夠獲得必

7、要的數(shù)據(jù)。9構(gòu)造函數(shù)繼承的實(shí)例classPoint{protectedintx,y;publicPoint(){x=0;y=0;System.out.println("零點(diǎn)坐標(biāo)為:"+String1());}publicPoint(inta,intb){x=a;y=b;System.out.println("點(diǎn)的坐標(biāo)為:"+String1());}publicStringString1(){return"["+x+","+y+"]";}}10構(gòu)造函數(shù)繼承的實(shí)例(續(xù))classCircleextendsPoint{protecteddoubleradiu

8、s;publicCircle(doubler){radius=r;System.out.pri

當(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. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(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)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。