Java繼承的概念與實(shí)現(xiàn)_第1頁(yè)
Java繼承的概念與實(shí)現(xiàn)_第2頁(yè)
Java繼承的概念與實(shí)現(xiàn)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

/繼承是類(lèi)與類(lèi)之間的關(guān)系,是一個(gè)很簡(jiǎn)單很直觀(guān)的概念,與現(xiàn)實(shí)世界中的繼承(例如兒子繼承父親財(cái)產(chǎn))類(lèi)似。

繼承可以理解為一個(gè)類(lèi)從另一個(gè)類(lèi)獲取方法和屬性的過(guò)程。如果類(lèi)B繼承于類(lèi)A,那么B就擁有A的方法和屬性。

繼承使用

extends關(guān)鍵字。(參考網(wǎng)站:/RA5iKhq)

例如我們已經(jīng)定義了一個(gè)類(lèi)People:1classPeople{2Stringname;3intage;4intheight;56voidsay(){7System.out.println("我的名字是"+name+",年齡是"+age+",身高是"+height);資料個(gè)人收集整理,勿做商業(yè)用途8}9}如果現(xiàn)在需要定義一個(gè)類(lèi)Teacher,它也有name、age、height屬性和say()方法,另外還需要增加school、seniority、subject

屬性和

lecturing()方法,怎么辦呢?我們要重新定義一個(gè)類(lèi)嗎?資料個(gè)人收集整理,勿做商業(yè)用途

完全沒(méi)必要,可以先繼承People類(lèi)的成員,再增加自己的成員即可,例如:1classTeacherextendsPeople{2Stringschool;//所在學(xué)校3Stringsubject;//學(xué)科4intseniority;//教齡56//覆蓋People類(lèi)中的say()方法7voidsay(){8System.out.println("我叫"+name+",在"+school+"教"+subject+",有"+seniority+"年教齡");資料個(gè)人收集整理,勿做商業(yè)用途9}1011voidlecturing(){12System.out.println("我已經(jīng)"+age+"歲了,依然站在講臺(tái)上講課");資料個(gè)人收集整理,勿做商業(yè)用途13}14}對(duì)程序的說(shuō)明name和age變量雖然沒(méi)有在Teacher中定義,但是已在People中定義,可以直接拿來(lái)用。資料個(gè)人收集整理,勿做商業(yè)用途Teacher是People的子類(lèi),People是Teacher類(lèi)的父類(lèi)。子類(lèi)可以覆蓋父類(lèi)的方法。子類(lèi)可以繼承父類(lèi)除private以為的所有的成員。構(gòu)造方法不能被繼承。

繼承是在維護(hù)和可靠性方面的一個(gè)偉大進(jìn)步。如果在People類(lèi)中進(jìn)行修改,那么Teacher類(lèi)就會(huì)自動(dòng)修改,而不需要程序員做任何工作,除了對(duì)它進(jìn)行編譯。

單繼承性:Java允許一個(gè)類(lèi)僅能繼承一個(gè)其它類(lèi),即一個(gè)類(lèi)只能有一個(gè)父類(lèi),這個(gè)限制被稱(chēng)做單繼承性。后面將會(huì)學(xué)到接口(interface)的概念,接口允許多繼承。

最后對(duì)上面的代碼進(jìn)行整理:資料個(gè)人收集整理,勿做商業(yè)用途1publicclassDemo{2publicstaticvoidmain(String[]args){3Teachert=newTeacher();4="小布";5t.age=70;6t.school="清華大學(xué)";7t.subject="Java";8t.seniority=12;9t.say();10t.lecturing();11}12}13classPeople{14Stringname;15intage;16intheight;1718voidsay(){19System.out.println("我的名字是"+name+",年齡是"+age+",身高是"+height);資料個(gè)人收集整理,勿做商業(yè)用途20}21}22classTeacherextendsPeople{23Stringschool;//所在學(xué)校24Stringsubject;//學(xué)科25intseniority;//教齡2627//覆蓋People類(lèi)中的say()方法28voidsay(){29System.out.println("我叫"+name+",在"+school+"教"+subject+",有"+seniority+"年教齡");資料個(gè)人收集整理,勿做商業(yè)用途30}3132voidlecturing(){33System.out.println("我已經(jīng)"+age+"歲了,依然站在講臺(tái)上講課");資料個(gè)人收集整理,勿做商業(yè)用途34}35}運(yùn)行結(jié)果:我叫小布,在清華大學(xué)教Java,有12年教齡

我已經(jīng)70歲

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論