java抽象類和接口講義課件.ppt

java抽象類和接口講義課件.ppt

ID:57057909

大?。?07.50 KB

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

時(shí)間:2020-07-30

java抽象類和接口講義課件.ppt_第1頁(yè)
java抽象類和接口講義課件.ppt_第2頁(yè)
java抽象類和接口講義課件.ppt_第3頁(yè)
java抽象類和接口講義課件.ppt_第4頁(yè)
java抽象類和接口講義課件.ppt_第5頁(yè)
資源描述:

《java抽象類和接口講義課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、抽象類和接口抽象類用關(guān)鍵字abstract修飾類稱為abstract類,抽象類,如:abstractclassA{……}abstract類不能用new運(yùn)算創(chuàng)建對(duì)象,必須產(chǎn)生其子類,由子類創(chuàng)建對(duì)象。抽象方法抽象類中可以包含普通變量和方法,同時(shí)也可以包含抽象方法;抽象方法:被abstract修飾的方法被稱作的抽象方法,抽象方法沒(méi)有方法體,即只有方法的聲明沒(méi)有方法的實(shí)現(xiàn)例如:publicabstractdoublearea();當(dāng)一個(gè)類中含有抽象方法時(shí),其所屬的類必須聲明為抽象類。abstractclassA{intnum=0;//抽象類中

2、可以有實(shí)例變量Strings=newString("abstract");//抽象類中可以有非抽象方法publicStringset(Stringss){s=ss;returns;}abstractintget();//注意:沒(méi)有大括弧("{}")}classBextendsA{privateintpoint=0;//子類如果不是抽象類的話,必須覆蓋父類中的抽象方法publicintget(){//子類在重寫父類的時(shí)候可以擴(kuò)大父類方法的權(quán)限num++;returnnum;}}抽象類抽象類的定義如下:抽象方法的定義:publicabst

3、ractclassShape{//定義體}//為使此類有用,它必須有子類publicabstract(參數(shù)列表);對(duì)抽象類和抽象方法的說(shuō)明在一個(gè)抽象類中可以有實(shí)例變量和非抽象方法存在抽象方法的定義中,沒(méi)有{}如果一個(gè)類中含有抽象方法,那么該類一定要被顯示聲明為抽象類抽象類是不可以實(shí)例化的,也即不能用抽象類來(lái)創(chuàng)建對(duì)象如:abstractclassPerson{Stringname;publicvoidgetName();}classTest{Personp=newPerson();//這句

4、話編譯不通過(guò),原因是因?yàn)槌橄箢惒荒軐?shí)例化}生活中的接口電腦主板上的PCI插槽的規(guī)范就類似于Java接口聲卡顯卡網(wǎng)卡每種卡的內(nèi)部結(jié)構(gòu)都不相同,可以把聲卡、網(wǎng)卡、顯卡都插在PCI插槽上,而不用擔(dān)心哪個(gè)插槽是專門插哪個(gè)卡的主板接口接口(interface)是抽象類功能的另一種實(shí)現(xiàn)方法,可將其想象為一個(gè)“純”的抽象類接口中所有的方法都是抽象方法,都沒(méi)有方法體Java通過(guò)允許一個(gè)類實(shí)現(xiàn)(implements)多個(gè)接口從而實(shí)現(xiàn)了比多重繼承更加強(qiáng)大的能力,并具有更加清晰的結(jié)構(gòu)接口的定義接口的定義形式為:interface接口名稱[extends父接

5、口1,父接口2..]{……//方法原型或靜態(tài)常量}//接口可以從多個(gè)父接口中繼承接口本身也具有數(shù)據(jù)成員與方法,但數(shù)據(jù)成員一定要賦初值,且為常量,因此此值將不能再更改Interface在接口中定義的成員變量都缺省為終極類變量(即常量),即系統(tǒng)會(huì)將其自動(dòng)增加public,final和static這三個(gè)關(guān)鍵字,并且對(duì)該變量必須設(shè)置初值在接口中定義的成員方法都缺省為公共的抽象方法,即系統(tǒng)會(huì)將其自動(dòng)增加public,abstract這兩個(gè)關(guān)鍵字如:interfaceCharStorage{inta=10;//雖然這沒(méi)顯示聲明變量a是靜態(tài)常量,但

6、系統(tǒng)在處理的時(shí)候就會(huì)把a(bǔ)當(dāng)成靜態(tài)常量來(lái)處理voidput(charc);//這其實(shí)是個(gè)公有的的抽象方法charget();}接口的實(shí)現(xiàn)類接口實(shí)現(xiàn)的方法:通過(guò)定義一個(gè)類同時(shí)采用implements來(lái)指明所實(shí)現(xiàn)的接口名,并在該類中覆蓋接口中的所有成員方法且給出成員函數(shù)體定義。要點(diǎn):類中所實(shí)現(xiàn)的接口中的成員函數(shù)的原型都應(yīng)該與它在接口中的原型定義保持一致;并在類中重寫接口中的所有成員方法;通過(guò)實(shí)現(xiàn)接口,從而可擴(kuò)充或增加該類的功能。接口只定義方法名,而類實(shí)現(xiàn)接口內(nèi)部的方法的代碼接口的繼承只是繼承接口本身,而非代碼,從而不會(huì)產(chǎn)生重復(fù)繼承多次。程序

7、實(shí)例interfaceComputer{publicvoidComputeData(); //計(jì)算機(jī)應(yīng)該有數(shù)據(jù)計(jì)算的功能publicvoidSaveData(); //計(jì)算機(jī)應(yīng)該有存儲(chǔ)數(shù)據(jù)的功能publicvoidPrintData(); //計(jì)算機(jī)應(yīng)該有打印數(shù)據(jù)的功能publicvoidDisplayData(); //計(jì)算機(jī)應(yīng)該有顯示數(shù)據(jù)的功能}定義出接口,實(shí)現(xiàn)只給出功能的描述在設(shè)計(jì)PC機(jī)時(shí)來(lái)實(shí)現(xiàn)它自己的功能classPCComputerimplementsComputer{//實(shí)現(xiàn)它的計(jì)算、存儲(chǔ)和打印數(shù)據(jù)、顯示數(shù)據(jù)的功能publ

8、icvoidComputeData(){//具體實(shí)現(xiàn)代碼}publicvoidSaveData(){//具體實(shí)現(xiàn)代碼}publicvoidPrintData(){//具體實(shí)現(xiàn)代碼}publicvoidDisplayDat

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(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)系客服處理。