免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
第9章 接口
“接口和內(nèi)部類為我們提供了一種將接口與實現(xiàn)分離的更加結(jié)構(gòu)化的方法。”
一、抽象類和抽象方法
        Java提供一個叫做抽象方法的機制,這種方法是不完整的;僅有聲明而沒有方法體。下面是抽象方法聲明所采用的語法:
        abstract void f();

        包含抽象方法的類叫做抽象類。如果一個類包含一個或多個抽象方法,該類必須被限定為抽象的。

        如果從一個抽象類繼承,并想創(chuàng)建該新類的對象,那么就必須為基類中的所有抽象方法提供方法定義。如果不這樣做,那么導出類便也是抽象類,且編譯器將會強制我們用abstract關鍵字來限定這個類。
 
二、接口
        interface關鍵字使抽象的概念更向前邁進了一步。abstract關鍵字允許人們在類中創(chuàng)建一個或多個沒有任何定義的方法——提供了接口部分,但是沒有提供任何相應的具體實現(xiàn),這些實現(xiàn)由此類的繼承者創(chuàng)建。interface這個關鍵字產(chǎn)生一個完全抽象的類,它根本就沒有提供任何具體實現(xiàn)。
        一個接口表示:“所有實現(xiàn)了特定接口的類看起來都像這樣”。
        要讓一個類遵循某個特定接口(或者是一組接口),需要使用implements關鍵字,它表示:“interface只是它的外貌,但是現(xiàn)在我要聲明它是如何工作的。”
        抽象類與接口的比較:
  1、Java接口和Java抽象類最大的一個區(qū)別,就在于Java抽象類可以提供某些方法的部分實現(xiàn),而Java接口不可以,這大概就是Java抽象類唯一的優(yōu)點吧,但這個優(yōu)點非常有用。如果向一個抽象類里加入一個新的具體方法時,那么它所有的子類都一下子都得到了這個新方法,而Java接口做不到這一點,如果向一個Java接口里加入一個新方法,所有實現(xiàn)這個接口的類就無法成功通過編譯了,因為你必須讓每一個類都再實現(xiàn)這個方法才行,這顯然是Java接口的缺點。
  2、一個抽象類的實現(xiàn)只能由這個抽象類的子類給出,也就是說,這個實現(xiàn)處在抽象類所定義出的繼承的等級結(jié)構(gòu)中,而由于Java語言的單繼承性,所以抽象類作為類型定義工具的效能大打折扣。在這一點上,Java接口的優(yōu)勢就出來了,任何一個實現(xiàn)了一個Java接口所規(guī)定的方法的類都可以具有這個接口的類型,而一個類可以實現(xiàn)任意多個Java接口,從而這個類就有了多種類型。
  3、從第2點不難看出,Java接口是定義混合類型的理想工具,混合類表明一個類不僅僅具有某個主類型的行為,而且具有其他的次要行為。
 
三、完全解耦
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java 接口理解(2)
JAVA的18條BASE
一文介紹Java編程思想--接口
JAVA中extends 與implements
抽象類(abstract class)和接口(Interface)的區(qū)別
任務5 學生基本信息管理模塊實現(xiàn)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服