第8章--抽象類與接口.ppt_第1頁
第8章--抽象類與接口.ppt_第2頁
第8章--抽象類與接口.ppt_第3頁
第8章--抽象類與接口.ppt_第4頁
第8章--抽象類與接口.ppt_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、8.1.1抽象類的定義,抽象類名成員變量;方法()/通用方法抽象方法();/抽象方法可以包括抽象類中的一般方法和抽象方法。抽象類代表抽象概念,不能作為對(duì)象實(shí)例化。8.1.2抽象類的應(yīng)用,例8-1定義了一個(gè)表示“形狀”的抽象類,它包括一個(gè)計(jì)算形狀面積的抽象方法。繼承抽象類來定義三角形、矩形和圓形。創(chuàng)建一個(gè)三角形、一個(gè)矩形和一個(gè)圓形,并將它們存儲(chǔ)在一個(gè)數(shù)組中。訪問數(shù)組元素以輸出各種圖形的區(qū)域。抽象類Shape /定義了抽象類抽象公共雙區(qū)域();/抽象方法,類三角形擴(kuò)展了Shape /定義三角形私有雙a,b,c;公共三角形(雙a,雙b,雙c)。this.b=bc=c。公共雙人間()雙人間p=(a b

2、 c)/2;返回Math . sqrt(p *(p-a)*(p-b)*(p-c);三角形,定義矩形,類矩形擴(kuò)展形狀/定義矩形專用雙寬,雙高;公共矩形(雙j,雙k)寬度=j;高度=k;公共雙面積()返回寬度*高度;定義一個(gè)圓,類圓擴(kuò)展形狀/定義一個(gè)圓私有雙r;公共圈(雙r)this . r=r;公共雙區(qū)()返回3.14 * r * r,公共類測(cè)試公共靜態(tài)無效主(字符串參數(shù))形狀s=新形狀3;s0=新三角形(25,41,50);s1=新矩形(15,20);s2=新圓(47);for(int k=0;k .長度;k)系統(tǒng)輸出打印(sk . area();8.2.1接口定義,公共接口名稱擴(kuò)展父接口名稱

3、列表公共靜態(tài)最終域類型域名=常數(shù)值;公共抽象返回值方法名(參數(shù)列表)拋出異常列表;聲明接口可以給訪問控制器;一個(gè)接口也可以繼承多個(gè)父接口,用逗號(hào)分隔。系統(tǒng)默認(rèn)界面中所有屬性的修改都是公共靜態(tài)的;系統(tǒng)默認(rèn)界面中所有方法的修改都是公共抽象的。接口定義示例,接口可復(fù)制對(duì)象副本();8.2.2接口實(shí)現(xiàn)、類書實(shí)現(xiàn)可復(fù)制字符串book _ name/標(biāo)題字符串圖書id;/ISBN公共圖書(字符串名稱,字符串id)圖書_名稱=名稱;圖書id=id公共對(duì)象副本()返回新圖書(圖書名稱,圖書標(biāo)識(shí));是否可以是圖書類型,實(shí)現(xiàn)8.2.2接口(續(xù)),公共字符串toString()返回圖書標(biāo)題:圖書_名稱,圖書編號(hào)=圖

4、書_ id公共靜態(tài)無效主(字符串參數(shù))書x=新書(Java編程,ISBN 8359012);system . out . println(x);system . out . println(x . copy();書y=(書)x .副本();system . out . println(y);對(duì)于接口的實(shí)現(xiàn),注意以下問題,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。用逗號(hào)分隔接口;如果實(shí)現(xiàn)接口的類不是抽象類,則指定接口的所有抽象方法都必須在類的定義部分實(shí)現(xiàn);換句話說,實(shí)現(xiàn)接口的類必須用具體方法覆蓋接口中定義的抽象方法;默認(rèn)情況下,接口的抽象方法的訪問限定符是公共的,在實(shí)現(xiàn)它時(shí),應(yīng)該在方法頭中由公共顯式修改。,模糊問

5、題,界面Frob浮動(dòng)v=2.0f/接口定義類父int v=3;/父類定義類測(cè)試擴(kuò)展父實(shí)現(xiàn)frob公共靜態(tài)void main(字符串參數(shù))新測(cè)試()。printv();無效打印(系統(tǒng))打印(超級(jí)打印)/2;8.3嵌入類,公共類外部一個(gè)私有int x=3;私有int y=4;公共空間外部方法()內(nèi)部方法=新內(nèi)部方法();ino . InnerMethod();公共類InnerOne /嵌入類private int z=5;int x=6;public void inner method()system . out . println(y為y);System.out.println(z是z);sys

6、tem . out . println(x=x);system . out . println(this . x=this . x);system . out . println(Outrone . this . x=Outrone . this . x);嵌入式類可以訪問外部類的成員。例8-3是一個(gè)簡單的例子。為了解釋,編譯一個(gè)嵌入類生成的字節(jié)碼文件名是:OuterOne $ InnerOne.class嵌入類可以訪問外部類的成員。嵌入式類可以用公共的、受保護(hù)的和私有的訪問控制器來修飾,嵌入式類的對(duì)象可以在主方法中間接創(chuàng)建。在主方法中,要?jiǎng)?chuàng)建嵌入類的對(duì)象,必須首先創(chuàng)建外部類對(duì)象,然后創(chuàng)建外部

7、類對(duì)象。內(nèi)部1=新的外部1()。新的內(nèi)部版本();I . InnerMethod();例8-4靜態(tài)嵌入類例,公共類外兩個(gè)私有靜態(tài)int x=3;私有int y=5;公共靜態(tài)類Innertwo /靜態(tài)嵌入類公共靜態(tài)無效方法()系統(tǒng)。out.println (x是x);公共無效方法2(). system . out . println(x為x);/嵌入類公共靜態(tài)void main(字符串a(chǎn)rg)的結(jié)尾外部兩個(gè).內(nèi)部兩個(gè). method();新外套。Innertwo()。方法中嵌入類,公共類外部兩個(gè)私有int x=3;public void OutMethod(int m)final int n=x

8、2;類InnerTwo /方法中的嵌入類private int y=5;public void inner method()system . out . println(y為y);System.out.println(n為n);System.out.println(x為x)。/嵌入類結(jié)束,只能訪問外部方法中的常量(經(jīng)過最終修改)和方法中的嵌入類inner two in2=new inner two();in2 . InnerMethod();公共靜態(tài)無效主(字符串參數(shù))外部二=新外部二();我的。外部方法(8);示例8-5匿名嵌入類的使用。接口樣本void TestMethod();公共類An

9、onymousInner void OuterMethod()新示例()公共void testMethod()system . out . println(只是測(cè)試);test method();/調(diào)用嵌入類中定義的方法。-字節(jié)碼文件是AnonymousInner $ 1.class如果有更多的匿名嵌入類要根據(jù)遞增的序號(hào)來命名,接口將派生出匿名嵌入類,根據(jù)嵌入類創(chuàng)建對(duì)象,加載問題,并定義接口形狀,包括一個(gè)方法大小(),它設(shè)計(jì)了“矩形”、“圓形”、“圓柱”等類來實(shí)現(xiàn)形狀接口,其大小()方法分別表示矩形面積、圓形面積和圓柱體積的計(jì)算。創(chuàng)建三個(gè)分別代表“矩形”、“圓形”和“圓柱”的對(duì)象,并將它們存儲(chǔ)在一個(gè)形狀類型的數(shù)組中,并通過調(diào)用size()方法輸出數(shù)組中

溫馨提示

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

評(píng)論

0/150

提交評(píng)論