面向?qū)ο蟾呒壧匦訽第1頁
面向?qū)ο蟾呒壧匦訽第2頁
面向?qū)ο蟾呒壧匦訽第3頁
面向?qū)ο蟾呒壧匦訽第4頁
面向?qū)ο蟾呒壧匦訽第5頁
資源描述:

《面向?qū)ο蟾呒壧匦浴酚蓵T上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第5章面向?qū)ο蟾呒壧匦?.1變量多態(tài)5.2非訪問控制符5.3接口5.4訪問控制符5.5內(nèi)部類5.1變量多態(tài)5.1.1定義類型為X的參考變量,其指向的對象類型既可以是X,也可以是X的子類。例如:Students1,s2;s1=newStudent("651003","王五");s2=newCollegian("0810123","張三","計算機");主意:s2就是變量多態(tài)。例5-1動態(tài)綁定:編譯器通過檢查變量的類型來確定相關(guān)方法能否被調(diào)用;而運行時,具體訪問的哪個方法被調(diào)用由變量指向的對象類型來確定。

2、5.1變量多態(tài)改進(jìn)后的例5-15.1.2用途(1)用于異類收集基于變量多態(tài),可以把具有繼承關(guān)系的對象集合到同一個數(shù)組中。例如:Students[];s=newStudent[2];s[0]=newStudent("651003","王五");s[1]=newCollegian("0810123","張三","計算機");5.1變量多態(tài)(2)用于方法參數(shù)傳遞實參是形參的子類對象。例如:在Stack類中的publicintsearch(Objecto)5.1.3類型判斷其格式為:對象instanceof類

3、該運算符的作用就是判斷左邊的對象是不是右邊的類型,如果是結(jié)果為true,否則為false。5.1變量多態(tài)5.1.4參考類型轉(zhuǎn)換總結(jié)即子類向父類的轉(zhuǎn)換可以自動進(jìn)行,而父類向子類的轉(zhuǎn)換則需要指明,且看是否能轉(zhuǎn)換。1.正確的轉(zhuǎn)換1-子類變量給父類變量賦值例5-32.錯誤的轉(zhuǎn)換1-父類變量給子類變量賦值例5-45.1變量多態(tài)3.錯誤的轉(zhuǎn)換2-指向父類對象的父類變量強制轉(zhuǎn)換為子類類型例5-54.錯誤的轉(zhuǎn)換2-指向子類對象的父類變量給子類變量賦值例5-65.正確的轉(zhuǎn)換2-能正確強制類型轉(zhuǎn)換為子類類型的變量給子類變

4、量賦值例5-75.2非訪問控制符5.2.1staticstatic可以修飾變量、方法。1.類變量(靜態(tài)變量)類變量和實例變量的區(qū)別:類變量可以通過類名訪問;實例變量通過對象名進(jìn)行訪問5.2.1staticstatic可以修飾變量、方法。1.類變量(靜態(tài)變量)類變量和實例變量的區(qū)別:例5-85.2非訪問控制符類變量和成實例變量的內(nèi)存分布5.2非訪問控制符2.類方法(靜態(tài)方法)類方法也不需要創(chuàng)建對象,直接通過類名訪問。(1)類方法只能直接訪問類變量或方法參數(shù),不能直接訪問實例變量。但在非靜態(tài)的方法中,可以

5、直接訪問本類中的靜態(tài)變量和非靜態(tài)變量。例5-9(2)靜態(tài)方法不能直接訪問非靜態(tài)方法。例5-105.2非訪問控制符3.類變量的作用例5-115.2.2finalfinal可以修飾類、方法和變量1.修飾類final修飾的類為最終類,不能被繼承。例5-125.2非訪問控制符2.修飾方法final修飾的方法是最終方法,不能被覆蓋。例5-133.修飾變量final修飾的“變量”是字符常量,代表常量,在一次賦值后其值不能改變。例5-145.2非訪問控制符5.2.3abstractabstract可以修飾類和方法。

6、1.修飾類abstract修飾的類是抽象類,即類中有些內(nèi)容(方法)還沒有定義完整。不能創(chuàng)建抽象類的對象,抽象類一般是用來做父類的,即它可以被其它類繼承。abstract與final“相克”,它們不能修飾同一個類。例5-155.2非訪問控制符2.修飾方法abstract修飾的方法是抽象方法,也就是只定義了方法頭部,沒有方法體。例如:abstractvoidtt();3.修飾類和修飾方法的關(guān)系(1)抽象類不一定含有抽象方法,但含有抽象方法的類一定是抽象類。例:改進(jìn)后的5-155.2非訪問控制符(2)如果子

7、類沒有實現(xiàn)抽象類中所有的抽象方法,那么子類要定義為抽象類。例4.抽象類的作用抽象類的作用就是做父類。例5-16:作為一個公司可能有很多種交通工具,編程計算每天所有交通工具的耗油總量。5.3接口5.3.1說明Java通過接口來彌補它單重繼承的不足,接口之間是多重繼承,即一個接口可以有多個父接口,而且一個類可以實現(xiàn)多個接口。5.3.2接口定義接口定義的格式:interface接口名{接口體}5.3接口接口中的方法不給出方法體,是抽象方法,即都是public、abstract的方法;接口中只允許定義常量,不

8、允許定義變量,接口中的成員變量都是public、static、final型的;方法的修飾符及變量的修飾符都是可以省略的。例5-175.3接口5.3.3實現(xiàn)實現(xiàn)接口的格式:class類名implements接口名列表{類體}類實現(xiàn)接口意味著類首先要繼承接口,然后再重寫方法體。一個類實現(xiàn)一個接口,如果該類不是抽象類,則必須實現(xiàn)接口中每個方法,即給出每個方法的方法體。如果一個類同時實現(xiàn)多個接口,接口名之間用逗號隔開。例5-17改進(jìn)5.3接口5.3.4綜合舉例例

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

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

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