變量沒(méi)有多態(tài)_第1頁(yè)
已閱讀1頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、多態(tài)中的方法是可以重寫(xiě)的,但是變量不能重寫(xiě),你運(yùn)行一下這個(gè)看看結(jié)果就知道了,父類(lèi)聲明,子類(lèi)實(shí)例化,用這個(gè)對(duì)象去調(diào)方法是子類(lèi)的方法,但是去調(diào)屬性,就是父類(lèi)的了。publicclassApublicStringa=“a“publicvoidA()System.out.println(“我是A類(lèi)中的A方法“)publicclassBextendsApublicStringa=“b“publicvoidA()System.out.println

2、(“我是B類(lèi)中的A方法“)publicstaticvoidmain(String[]args)Ab=newB()b.A()System.out.println(b.a)結(jié)果:我是B類(lèi)中的A方法aJavaava向上轉(zhuǎn)型之后調(diào)用子類(lèi)的同名變量向上轉(zhuǎn)型之后調(diào)用子類(lèi)的同名變量方法的問(wèn)題方法的問(wèn)題(多態(tài))(多態(tài))201210170個(gè)評(píng)論表示定義了一個(gè)Father類(lèi)型的引用,指向新建的Son類(lèi)型的對(duì)象。由于Son是繼承自它的父類(lèi)Father,所以F

3、ather類(lèi)型的引用是可以指向Son類(lèi)型的對(duì)象的。那么這樣做有什么意義呢?因?yàn)樽宇?lèi)是對(duì)父類(lèi)的一個(gè)改進(jìn)和擴(kuò)充,所以一般子類(lèi)在功能上較父類(lèi)更強(qiáng)大,屬性較父類(lèi)更獨(dú)特,定義一個(gè)父類(lèi)類(lèi)型的引用指向一個(gè)子類(lèi)的對(duì)象既可以使用子類(lèi)強(qiáng)大的功能,又可以抽取父類(lèi)的共性。所以,父類(lèi)類(lèi)型的引用可以調(diào)用父類(lèi)中定義的所有屬性和方法,而對(duì)于子類(lèi)中定義而父類(lèi)中沒(méi)有的方法,它是無(wú)可奈何的;因此s.name調(diào)用父類(lèi)的屬性!f2方法父類(lèi)沒(méi)有,出錯(cuò)!同時(shí),父類(lèi)中的一個(gè)方法只有在

4、在父類(lèi)中定義而在子類(lèi)中沒(méi)有重寫(xiě)的情況下,才可以被父類(lèi)類(lèi)型的引用調(diào)用;對(duì)于父類(lèi)中定義的方法,如果子類(lèi)中重寫(xiě)了該方法,那么父類(lèi)類(lèi)型的引用將會(huì)調(diào)用子類(lèi)中的這個(gè)方法,這就我總結(jié)一下(向上轉(zhuǎn)型):1、同名字段的話是父類(lèi)的。2、如果子類(lèi)覆蓋了父類(lèi)的方法,調(diào)用的是子類(lèi)方法。3、如果父類(lèi)沒(méi)有子類(lèi)定義的方法,會(huì)編譯錯(cuò)誤。哎,結(jié)果是知道了。能不能幫我理解一下這句話:對(duì)象的類(lèi)型是由創(chuàng)建它的類(lèi)決定的,而不是由聲明它的變量決定的。要是這樣的話,那Son的clas

5、s對(duì)象不是能夠查找出f2()嗎?回答記住哦,我們現(xiàn)在創(chuàng)建的是父類(lèi)的引用指向子類(lèi)Son的對(duì)象。子類(lèi)中定義的方法f2在父類(lèi)中不存在,所以用這父類(lèi)的引用去調(diào)用他沒(méi)有的方法是錯(cuò)誤的。對(duì)于多態(tài),可以總結(jié)它為:一、使用父類(lèi)類(lèi)型的引用指向子類(lèi)的對(duì)象;二、該引用只能調(diào)用父類(lèi)中定義的方法和變量;三、如果子類(lèi)中重寫(xiě)了父類(lèi)中的一個(gè)方法,那么在調(diào)用這個(gè)方法的時(shí)候,將會(huì)調(diào)用子類(lèi)中的這個(gè)方法;(動(dòng)態(tài)連接、動(dòng)態(tài)調(diào)用)四、變量不能被重寫(xiě)(覆蓋),變量不能被重寫(xiě)(覆蓋)

溫馨提示

  • 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ù)僅提供信息存儲(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)論