面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口

面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口

ID:39749896

大?。?.99 MB

頁(yè)數(shù):42頁(yè)

時(shí)間:2019-07-10

面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口_第1頁(yè)
面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口_第2頁(yè)
面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口_第3頁(yè)
面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口_第4頁(yè)
面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口_第5頁(yè)
資源描述:

《面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、面向?qū)ο蟮腏ava實(shí)現(xiàn)-接口第八章2回顧舉例說(shuō)明在什么樣的情況下,需要使用到繼承?在Java程序中,多態(tài)性帶給我們的好處是什么?3預(yù)習(xí)檢查什么是常量?Java中,常量的定義規(guī)則有哪些?什么是面向接口編程,它的好處是什么?4本章任務(wù)升級(jí)HelloACCP,打印ACCP中心與教員的詳細(xì)信息:正確使用面向接口編程的思想提高系統(tǒng)的可擴(kuò)展性及可維護(hù)性5掌握J(rèn)ava接口理解Java接口與多態(tài)的關(guān)系掌握面向接口編程的思想掌握常量接口的使用本章目標(biāo)抽象類(lèi)可以使用abstract來(lái)修飾一個(gè)類(lèi)和方法用abstract修飾的類(lèi)表示這個(gè)類(lèi)是一

2、個(gè)抽象類(lèi),用abstract修飾的方法表示這個(gè)方法是一個(gè)抽象方法。抽象類(lèi)不能被實(shí)例化抽象方法是只有方法聲明,而沒(méi)有實(shí)現(xiàn)的方法。構(gòu)造方法、靜態(tài)方法、私有方法、final方法不能被聲明為抽象的方法。6抽象類(lèi)的例子publicabstractclassShape{/**畫(huà)出自己*/publicabstractvoiddraw();/**得到面積*/publicdoublegetArea(){return100.0;}}7抽象類(lèi)(abstractclass)抽象類(lèi)里面并非一定需要抽象方法,但是沒(méi)有抽象方法,抽象類(lèi)就沒(méi)有存在的必

3、要在以下任一條件成立時(shí),類(lèi)必須定義成抽象類(lèi):–類(lèi)中有至少一個(gè)抽象方法–類(lèi)繼承了父類(lèi)中的抽象方法,但是至少有一個(gè)抽象方法沒(méi)有實(shí)現(xiàn)–類(lèi)實(shí)現(xiàn)了某個(gè)接口,但沒(méi)有全部實(shí)現(xiàn)接口中的方法8創(chuàng)建抽象類(lèi)的對(duì)象抽象類(lèi)不可實(shí)例化如果從一個(gè)抽象類(lèi)繼承,并想創(chuàng)建該新類(lèi)的對(duì)象,那么我們就必須為基類(lèi)中的所有抽象方法提供方法定義。如果不這樣做(可以選擇不做),那么抽象類(lèi)的子類(lèi)便也是抽象類(lèi),且編譯器將會(huì)強(qiáng)制我們用abstract關(guān)鍵字來(lái)限制修飾這個(gè)類(lèi)。創(chuàng)建抽象類(lèi)的對(duì)象–擴(kuò)展抽象類(lèi),實(shí)現(xiàn)其所有抽象方法–創(chuàng)建該抽象類(lèi)子類(lèi)的對(duì)象9抽象類(lèi)的使用例子public

4、classCircleextendsShape{publicvoiddraw(){System.out.println("drawacircle....");}}TestShape.javapublicstaticvoidmain(String[]args){//Shapeshape=newShape();//errorShapeshape=newCircle();shape.draw();System.out.println(shape.getArea());}10接口(interface)接口(interface)

5、比抽象(abstract)的概念向前更邁進(jìn)了一步。你可以將它看作是“純粹的”抽象類(lèi)。它允許類(lèi)的創(chuàng)建者為一個(gè)類(lèi)建立其形式:有方法名、參數(shù)列表和返回類(lèi)型,但是沒(méi)有任何方法體。接口也可以包含有數(shù)據(jù)成員。接口只提供了形式,而未提供任何具體實(shí)現(xiàn)。接口是方法和常量值的定義的集合。11接口的定義[修飾符]interface接口名[extends父接口名表]{[修飾符]域類(lèi)型域名=常量值;//常量域聲明[修飾符]返回值方法名(參數(shù)表);//抽象方法聲明}因?yàn)樗卸x在接口中的常量都默認(rèn)為public、static和final。所有定義

6、在接口中的方法默認(rèn)為public和abstract,所以可以不用修飾符限定它們。和類(lèi)不同的是,一個(gè)接口可以繼承多個(gè)父接口.12接口例子publicinterfaceIShape{//面積doublearea=100.0;//畫(huà)出自己voiddraw();//得到面積doublegetArea();}13實(shí)現(xiàn)接口多個(gè)無(wú)關(guān)的類(lèi)可實(shí)現(xiàn)同一個(gè)接口。一個(gè)類(lèi)可實(shí)現(xiàn)多個(gè)無(wú)關(guān)的接口語(yǔ)法如下:class[extends][implements[,

7、ace>]*]{*}在Java中,可以通過(guò)接口來(lái)模擬多繼承14接口應(yīng)用例子publicclassCircleimplementsIShape{publicvoiddraw(){System.out.println("drawacircle....");}publicdoublegetArea(){//area=200.0;errorreturnarea;}}Main:IShapeshape=newCircle();shape.draw();System.out.println(shape.g

8、etArea());15實(shí)現(xiàn)接口注意事項(xiàng)在類(lèi)的聲明部分,用implements關(guān)鍵字聲明將要實(shí)現(xiàn)那些接口;如果實(shí)現(xiàn)某接口的類(lèi)不是abstract類(lèi),則在類(lèi)的定義部分必須實(shí)現(xiàn)指定接口的所有抽象方法,而且方法頭部分應(yīng)該與接口中的定義完全一致;如果實(shí)現(xiàn)某接口的類(lèi)是abstract類(lèi),則它可以不實(shí)現(xiàn)該接口所有的方法。但其非abstract

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

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

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