抽象類與終結(jié)類

上傳人:go****ng 文檔編號:248207661 上傳時間:2024-10-22 格式:PPT 頁數(shù):50 大小:309.50KB
收藏 版權(quán)申訴 舉報 下載
抽象類與終結(jié)類_第1頁
第1頁 / 共50頁
抽象類與終結(jié)類_第2頁
第2頁 / 共50頁
抽象類與終結(jié)類_第3頁
第3頁 / 共50頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《抽象類與終結(jié)類》由會員分享,可在線閱讀,更多相關(guān)《抽象類與終結(jié)類(50頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第10章 抽象類與終結(jié)類,10.1 抽象類與抽象方法,抽象類的定義,抽象類聲明的語法形式:,public abstract class Shape ,/,類體,10.1 抽象類與抽象方法,抽象類的定義,抽象類是不能使用,new,方法進(jìn)行實例化的類,即沒有具體實例對象的類。,抽象類可以包含常規(guī)類能夠包含的任何東西,包括構(gòu)造方法。,抽象類也可以包含抽象方法,這種方法只有方法的聲明,而沒有方法的實現(xiàn)。,10.1 抽象類與抽象方法,聲明抽象類的理由,抽象類是類層次中較高層次的概括,抽象類的作用是讓其他類來繼承它的抽

2、象化特征;,抽象類可以包括被它的所有子類共享的公共屬性和行為;,在程序中不能用抽象類作為模板來創(chuàng)建對象;,在用戶生成實例時強(qiáng)迫用戶生成更具體的實例,保證代碼的安全性。,10.1 抽象類與抽象方法,抽象類舉例,如果在應(yīng)用中僅僅需要,Circles,(圓)、,Triangles,(三角形)、,Rectangles,(四邊形)和,Squares,(正方形),那么這些類的所有公共屬性及方法可以抽象到,Shape,類中,將,Shape,類聲明為抽象類。,10.1 抽象類與抽象方法,抽象類舉例,如果還需要區(qū)分,2D,及,3D,對象,則需要將,2D,及,3D,對象的特性分別抽取出來。,10.1 抽象類與抽象

3、方法,抽象方法,抽象方法聲明的語法形式,抽象方法體的具體實現(xiàn)是由當(dāng)前類的不同子類在它們各自的類聲明中完成的。,10.1 抽象類與抽象方法,抽象方法,在使用抽象方法時需要注意以下幾點:,一個抽象類的子類如果不是抽象類,則它必須為父類中的所有抽象方法書寫方法體,即重寫父類中的所有抽象方法。,只有抽象類才能具有抽象方法,也就是說,如果一個類中含有抽象方法,則必須將這個類聲明為抽象類。,除了抽象方法,抽象類中還可以包括非抽象方法。,10.1 抽象類與抽象方法,抽象方法舉例,貸款,(Loan),分為許多種類,如租借(,Lease,)、抵押(,Mortgage,)、房屋貸款(,HouseLoan,)、汽車

4、貸款(,CarLoan,)等。,10.1 抽象類與抽象方法,抽象方法舉例,可以將,Loan,聲明為抽象類,并指定所有的子類對象都應(yīng)具有的行為。,10.2 終結(jié)類與終結(jié)方法,終結(jié)類,如果一個類被,final,修飾符所修飾和限定,說明這個類不可能有子類,稱為終結(jié)類。,被聲明為,final,的類通常是一些有固定作用、用來完成某種標(biāo)準(zhǔn)功能的類,這些類不能被繼承,自然就不能對其提供的功能進(jìn)行修改。,Java,類庫中提供了一些終結(jié)類,如,、,、,。,可以防止子類對父類關(guān)鍵方法的錯誤重寫,增加了代碼的安全性和正確性。,10.2 終結(jié)類與終結(jié)方法,終結(jié)方法舉例,10.2 終結(jié)類與終結(jié)方法,終結(jié)方法,將方法聲明

5、為,final,的另一個原因是提高類的運(yùn)行效率。通常,當(dāng),java,運(yùn)行環(huán)境(如,java,解釋器)運(yùn)行方法時,它將首先在當(dāng)前類中查找該方法,接下來在其超類中查找,并一直沿類層次向上查找,直到找到該方法為止。,如果方法是,final,的,,java,編譯器可以將該方法可執(zhí)行字節(jié)碼直接放到調(diào)用它的程序中。,10.3 定義Lease類及其子類,Lease類圖,10.3 定義Lease類及其子類,定義初始的Lease類,10.3 定義Lease類及其子類,定義初始的Lease類,10.3 定義Lease類及其子類,處理日期,處理日期和時間需要,Calendar,類和,DateFormat,類。,Ca

6、lendar,類通常與,Date,類一同使用,這兩個類在,java.util,包中。,DateFormat,類在,java.text,包中。,10.3 定義Lease類及其子類,處理日期,Calendar,包含方法和常量;,Date,實例包含實際日期值;,DateFormat,實例用于顯示日期格式。,10.3 定義Lease類及其子類,處理日期,創(chuàng)建,Calendar,實例,Calendar,類提供了,getInstance,(),方法創(chuàng)建,Calendar,對象,此對象表示計算機(jī)內(nèi)部時鐘的當(dāng)前日期及時間。,調(diào)用其,getTime,方法獲得包含當(dāng)前系統(tǒng)日期的,Date,實例。,10.3 定義L

7、ease類及其子類,處理日期,Calendar,類提供了名為,add,的實例方法,使用該方法可以設(shè)置日、月、年的值。,10.3 定義Lease類及其子類,處理日期,使用,Calendar,類的,set,方法創(chuàng)建具有特定日期的,Date,實例,10.3 定義Lease類及其子類,處理日期:,使用DateFormat類,DateFormat,類提供了名為,LONG,、,MEDIUM,和,SHORT,的常量,用于指定要創(chuàng)建的格式。,例如,可以將,2011,年,2,月,25,日顯示為“,2011,年,2,月,25,日”、“,2011-2-25”,或“,11-2-25”,。,要獲得格式實例,需要調(diào)用,D

8、ateFormat,的類方法,getDateInstance,,并在參數(shù)中指定使用哪種格式。,10.3 定義Lease類及其子類,處理日期:,使用DateFormat類,10.3 定義Lease類及其子類,處理日期:,使用DateFormat類,10.3 定義Lease類及其子類,處理日期:,使用DateFormat類,對,Calendar,類提供的其他,方法進(jìn)行測試,10.3 定義Lease類及其子類,處理日期:,使用DateFormat類,對,Calendar,類提供的其他,方法進(jìn)行測試,10.3 定義Lease類及其子類,向Lease類中添加抽象方法,一旦一個類中包含了抽象方法,就需要將

9、這個類變?yōu)槌橄箢悺?10.3 定義Lease類及其子類,定義Lease的子類BookLease,Lease,類的子類,BookLease,增加的屬性包括:,term,(租書期限)和,deposit,(押金)。,按本計費(fèi)租書時,歸還時如果租書期限沒有超過設(shè)置的期限,則按每本,5,元計,否則每超過,1,天扣除押金的,10%,。,10.3 定義Lease類及其子類,定義Lease的子類BookLease,Lease,類的子類,BookLease,增加的屬性包括:,term,(租書期限)和,deposit,(押金)。,10.3 定義Lease類及其子類,定義Lease的子類BookLease,10.3

10、 定義Lease類及其子類,定義Lease的子類BookLease,10.3 定義Lease類及其子類,定義Lease的子類BookLease,10.3 定義Lease類及其子類,定義Lease的子類BookLease,10.3 定義Lease類及其子類,定義Lease的子類DailyLease,Lease,的子類,DailyLease,增加的屬性為,dayNum,(租用的天數(shù))。,其值可根據(jù)起始日期和終止日期來計算。,計費(fèi)按每天,0.2,元收取。,10.3 定義Lease類及其子類,定義Lease的子類DailyLease,10.3 定義Lease類及其子類,定義Lease的子類DailyL

11、ease,10.3 定義Lease類及其子類,定義Lease的子類DailyLease,10.3 定義Lease類及其子類,測試BookLease類和DailyLease類,10.3 定義Lease類及其子類,測試BookLease類和DailyLease類,10.3 定義Lease類及其子類,測試BookLease類和DailyLease類,10.4 聲明及使用自定義異常,用戶自定義的所有異常類都必須是,Exception,的子類。,一般的聲明方法如下:,10.4 聲明及使用自定義異常,定義DateInputException,定義一個,Exception,的子類,DateInputExce

12、ption,10.4 聲明及使用自定義異常,拋出自定義異常,在,DailyLease,類中,設(shè)置結(jié)束日期時,如果結(jié)束日期小于開始日期,則拋出日期輸入無效的異常。,修改,Lease,類中的,setEndDate,(),方法:,10.4 聲明及使用自定義異常,拋出自定義異常,測試代碼,10.4 聲明及使用自定義異常,拋出自定義異常,測試代碼,10.4 聲明及使用自定義異常,創(chuàng)建多個日租約對象,批處理接受事物處理集合,然后一個個地對它們進(jìn)行處理,如果成功地完成了事物處理,則顯示成功消息;,如果出現(xiàn)異常,會顯示異常消息,但應(yīng)用程序會繼續(xù)處理,直到完成批處理為止。,10.4 聲明及使用自定義異常,創(chuàng)建多個日租約對象,10.4 聲明及使用自定義異常,創(chuàng)建多個日租約對象,10.5 本章小結(jié),如果一個類中包含了抽象方法,就需要將這個類定義為抽象類。,抽象類中除了包含抽象方法,還可以包含非抽象方法,另外,還可以擁有實例屬性和實例方法。,定義抽象類的目的是要定義其子類來實現(xiàn)其中的抽象方法,而終結(jié)類正好相反,定義終結(jié)類的目的是禁止定義其子類。,非終結(jié)類的任何類都可以擴(kuò)充。,Thanks!,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!