Java學(xué)習(xí)筆記(9)_第1頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、java學(xué)習(xí)筆記(9)java學(xué)習(xí)筆記(9)- 重寫(xiě),重載,多態(tài)1.重寫(xiě):a.定義:重寫(xiě)是子類(lèi)對(duì)父類(lèi)的允許拜訪的辦法的實(shí)現(xiàn)過(guò)程舉行重新編寫(xiě), 返回值和形參都不能轉(zhuǎn)變。即外殼不變,核心重寫(xiě)!重寫(xiě)的益處在于子類(lèi)可以按照需要,定義特定于自己的行為。 也就是說(shuō)子類(lèi)能夠按照需要實(shí)現(xiàn)父類(lèi)的辦法。重寫(xiě)辦法不能拋出新的檢查異樣或者比被重寫(xiě)辦法申明越發(fā)寬泛的異樣。例子: class animalpublic void move()system.out.println("動(dòng)物可以移動(dòng)"); class dog extends animalpublic void move()system.out

2、.println("狗可以跑和走"); 然后我們引用: animal a = new animal(); / animal 對(duì)象animal b = new dog(); / dog 對(duì)象a.move();/ 執(zhí)行 animal 類(lèi)的辦法b.move();/執(zhí)行 dog 類(lèi)的辦法 輸出為:動(dòng)物可以移動(dòng)狗可以跑和走 在上面的例子中可以看到,盡管 b 屬于 animal 類(lèi)型,但是它運(yùn)行的是 dog 類(lèi)的 move辦法(我們重寫(xiě)的辦法)這是因?yàn)樵诰幾g階段,只是檢查參數(shù)的引用類(lèi)型。然而在運(yùn)行時(shí),java 虛擬機(jī)(jvm)指定對(duì)象的類(lèi)型并且運(yùn)行該對(duì)象的辦法。因此在上面的例子中,之所

3、以能編譯勝利,是由于 animal 類(lèi)中存在 move 辦法,然而運(yùn)行時(shí),運(yùn)行的是特定對(duì)象的辦法。 b.規(guī)章:1.參數(shù)列表必需徹低與被重寫(xiě)辦法的相同。2.返回類(lèi)型與被重寫(xiě)辦法的返回類(lèi)型可以不相同,但是必需是父類(lèi)返回值的派生類(lèi)。3.拜訪權(quán)限不能比父類(lèi)中被重寫(xiě)的辦法的拜訪權(quán)限更低。4.父類(lèi)的成員辦法只能被它的子類(lèi)重寫(xiě)。假如在同一包里的子類(lèi)可以重寫(xiě)全部的父類(lèi)辦法,除了聲明為 private 和 final 的辦法。5.聲明為 final 的辦法不能被重寫(xiě),而static 的辦法不能被重寫(xiě),但是能夠被再次聲明。6.子類(lèi)和父類(lèi)不在同一個(gè)包中,那么子類(lèi)只能夠重寫(xiě)父類(lèi)的聲明為 public 和 protec

4、ted 的非 final 辦法。7.重寫(xiě)的辦法能夠拋出任何非強(qiáng)制異樣,無(wú)論被重寫(xiě)的辦法是否拋出異樣。但是,重寫(xiě)的辦法不能拋出新的強(qiáng)制性異樣,或者比被重寫(xiě)辦法聲明的更廣泛的強(qiáng)制性異樣,反之則可以。 2.重載:跟c+差不多的意思。重載(overloading) 是在一個(gè)類(lèi)里面,辦法名字相同,而參數(shù)不同。返回類(lèi)型可以相同也可以不同。每個(gè)重載的辦法(或者構(gòu)造函數(shù))都必需有一個(gè)舉世無(wú)雙的參數(shù)類(lèi)型列表。最常用的地方就是構(gòu)造器的重載。與重寫(xiě)的不同之處就是重載著重于不同的參數(shù)。 3.多態(tài):a.定義:多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個(gè)接口,用法不同的實(shí)例而執(zhí)行不同操作。學(xué)好多態(tài)這個(gè)概念對(duì)應(yīng)用好接口很重要。 多態(tài)的存在的三個(gè)須要條件:1.繼承2.重寫(xiě)3.父類(lèi)引用指向子類(lèi)對(duì)象 比如說(shuō)這個(gè)例子,是把一個(gè)父類(lèi)的引用指向了一個(gè)子類(lèi)的對(duì)象:parent p = new child();注重:用法多態(tài)方式調(diào)用辦法時(shí),首先檢查父類(lèi)中是否有該辦法,假如沒(méi)有,則編譯錯(cuò)誤;假如有,再去調(diào)用子類(lèi)的同名辦法。 b.虛函數(shù):虛函數(shù)是多態(tài)的基礎(chǔ)之一,固然java全部的函數(shù)默認(rèn)都是c+意義上的虛函數(shù)所以不用特殊去注重,由于

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論