版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
接口,是Java語言中一種類型,是方法的集合,如果說類的內(nèi)部封裝了成員變量、構造方法和成員方法,那么接口的內(nèi)部主要就是封裝了方法,包含抽象方法(JDK7及以前),默認方法和靜態(tài)方法(JDK8),私有方法接口的使用,它不能創(chuàng)建對象,但是可以被實現(xiàn)
是接口的子類)類。publicpublicinterface接口名稱////////}
publicpublicinterface{ void}
publicpublicinterface{publicdefaultvoidmethod()}publicstaticvoidmethod2()}}
publicpublicinterface{privatevoidmethod()}}
classclass類名implements接口名////}publicpublicinterfaceLiveAble// void void}publicpublicclassAnimalimplements{@Overridepublicvoideat(){}publicvoid{}}publicpublicclassInterfaceDemopublicstaticvoidmain(String[]args)//Animala=new//}}publicpublicinterface{publicdefaultvoid}publicpublicclassAnimalimplementsLiveAble//}publicpublicclassInterfaceDemopublicstaticvoidmain(String[]args)//Animala=new//}}publicpublicinterface{publicdefaultvoid}publicpublicclassAnimalimplements{@Overridepublicvoidfly(){}}publicpublicclassInterfaceDemopublicstaticvoidmain(String[]args)Animala=new}}靜態(tài)與.class文件相關,只能使用接口名調(diào)用,不可以通過實現(xiàn)類的類名或者實現(xiàn)類的對象調(diào)用,代碼如下:publicpublicinterface{publicstaticvoid}}publicpublicclassAnimalimplementsLiveAble//}publicpublicclassInterfaceDemopublicstaticvoidmain(String[]args)//Animal.run();//【錯誤】無法繼承方法,LiveAble.run();}}跑起來如果一個接口中有多個默認方法,并且方法中有重復的內(nèi)容,那么可以抽取出來,封裝到私有方法中,供默認方法去調(diào)用。從設計的角度講,私有的方法是對默認方法和靜態(tài)方法的輔助。在已學技術的基礎上,可以自試。publicpublicinterface{defaultvoidfunc(){}private}private}口的多實現(xiàn)。并且,一個類能繼承一個父類,同時實現(xiàn)多個接口。classclass類名[extends父類名]implements接口名1,接口名2,接口名3...{////}接口中,有多個抽象方法時,實現(xiàn)類必須重寫所有抽象方法。如果抽象方法有重名的,只需要重寫一次。下:interfaceinterfaceA}voidvoidinterfaceB}voidvoidpublicpublicclassCimplementspublicvoid{}publicvoid{}publicvoid{}}接口中,有多個默認方法時,實現(xiàn)類都可繼承使用。如果默認方法有重名的,必須重寫一次。interfaceinterfaceApublicdefaultvoidmethodA(){}publicdefaultvoid}interfaceBpublicdefaultvoidmethodB(){}publicdefaultvoid}publicpublicclassCimplementsA,B{@Overridepublicvoidmethod(){;}行父類的成員方法。代碼如下:interfaceinterfaceApublicdefaultmethodA(){System.out.println("AAAA}classclassDpublicmethodA(){System.out.println("DDDD}classclassCextendsDimplementsA//未重寫methodA}publicpublicclassTestpublicstaticvoidmain(String[]{Cc=new}}
interfaceinterfaceApublicdefaultmethod(){}}interfaceBpublicdefaultmethod(){}}interfaceinterfaceDextendsA,B{@Overridepublicdefaultvoid{;} 接口中,無法定義成員變量,但是可以定義常量,其值不可以改變,默認使用publicstatic?nal修飾。是不一樣的??梢姡恍袨?,通過不同的事物,可以體現(xiàn)出來的不同的形態(tài)。多態(tài),描述的就是這樣的狀態(tài)。父類類型變量名父類類型變量名new子類對象;FuFuf=newZi();后方法。 class{public classclassCatextends{publicvoideat()}}classDogextends{publicvoideat()}}publicpublicclassTestpublicstaticvoidmain(String[]args)Animala1=new//調(diào)用的是Cat的eatAnimala2=new//調(diào)用的是Dog的eat}}性與便利。代碼如下: class{public classclassCatextends{publicvoideat()}}classDogextends{publicvoideat()}}publicpublicclassTestpublicstaticvoidmain(String[]args)//Catc=newCat();Dogd=new調(diào)用showCatEat//調(diào)用以上兩個方法均可以被showAnimalEat(Animala)方法所替代}publicstaticvoidshowCatEat(Catc){c.eat();}publicstaticvoidshowDogEat(Dogd){d.eat();}publicstaticvoidshowAnimalEat(Animala){a.eat();}}當t方法執(zhí)行時,多態(tài)規(guī)定,執(zhí)行的是子類重寫的方法,那么效果自然與hwCat、hDgEthwAiEt完全可以替代以上兩方法。當父類指向一個子類對象時,便是向上。父類類型父類類型變量名=new子類類型();如:Animala=newCat();一個已經(jīng)向上的子類對象,將父類轉為子類,可以使用強制類型轉換的格式,便是向下。子類類型變量名子類類型變量名(子類類型父類變量名;如:Catc=(Cat)a;當使用多態(tài)方式調(diào)用方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤。也就是說,不能調(diào)用有,而父類沒有的方法。編譯都錯誤,更別說運行了。這也是多態(tài)給我們帶來的一點"小麻煩"。所以,想要調(diào)用子類特有的方法,必須做向下。classclass }classCatextends{publicvoideat()}publicvoid {}}classDogextends{publicvoideat()}publicvoid{}publicpublicclassTestpublicstaticvoidmain(String[]args)Animala=new //調(diào)用的是Cat的Catc= //調(diào)用的是Cat的 }}publicpublicclassTestpublicstaticvoidmain(String[]args)Animala=new //調(diào)用的是Cat的Dogd=//調(diào)用的是Dog的watchHouse}} 變量名變量名instanceofpublicpublicclassTestpublicstaticvoidmain(String[]args)Animala=new //調(diào)用的是Cat的if(ainstanceofCat){Catc=(Cat)a; //調(diào)用的是Cat的 }elseif(ainstanceofDog){Dogd=(Dog)a; //調(diào)用的是Dog的}}}筆記本電腦(lto)通常具備使用S設備的功能。在生產(chǎn)時,筆記本都預留了可以插入S設備的S但具體是什么S設備,筆記本廠商并不關心,只要符合S規(guī)格的設備都可以。interfaceinterfaceUSBvoidopen();// voidclose();//}classclassMouseimplements{publicvoidopen()}publicvoidclose()}publicclickSystem.out.println("鼠標單}classclassKeyBoardimplements{publicvoidopen()}publicvoidclose()}publictypeSystem.out.println("鍵盤打字}}classclassLaptop//publicvoid{}// publicvoiduseUSB(USBusb)//判斷是否有USBif(usb!={//類型轉換,if(usbinsta
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全球化時代的國際貨運運輸
- 2016-09-07直播PPP課程課件
- 供應鏈運輸決策與執(zhí)行
- 倉儲設施的優(yōu)化與布局
- 9《小水滴的訴說》第2課時 說課稿-2023-2024學年道德與法治二年級下冊統(tǒng)編版
- Module 4(說課稿)-2023-2024學年外研版(三起)英語五年級下冊
- Module5 Unit2 Writing(說課稿)-2024-2025學年外研版英語九年級上冊001
- 2025年汽油發(fā)電機行業(yè)深度研究分析報告
- 2025年電力遙控遙測系統(tǒng)項目投資可行性研究分析報告
- 4-1《喜看稻菽千重浪-記首屆國家科技獎獲得者袁隆平》說課稿 2024-2025學年統(tǒng)編版高中語文必修上冊
- 2024版智慧電力解決方案(智能電網(wǎng)解決方案)
- 公司SWOT分析表模板
- 小學預防流行性感冒應急預案
- 肺癌術后出血的觀察及護理
- 聲紋識別簡介
- 生物醫(yī)藥大數(shù)據(jù)分析平臺建設-第1篇
- 基于Android的天氣預報系統(tǒng)的設計與實現(xiàn)
- 沖鋒舟駕駛培訓課件
- 美術家協(xié)會會員申請表
- 聚合收款服務流程
- 中石化浙江石油分公司中石化溫州靈昆油庫及配套工程項目環(huán)境影響報告書
評論
0/150
提交評論