更新時間:2020-05-29 15:21:24 來源:動力節點 瀏覽2507次
在Java中抽象類和接口都是用于實現抽象的,那么它們之間有什么差異?在討論抽象類和接口的區別之前,我們先來看看抽象類和接口各自的特性是什么。
抽象類是用來捕捉子類的通用特性,即共同點的;比如:汽車、自行車、電瓶車,它們都是車子,可以有一個共同的抽象類:Vehicle。抽象類不能被實例化,不能用來創建對象,只能用作子類的超類。
接口是抽象方法的集合。如果一個類實現了某個接口,那么它就會繼承了這個接口的全部抽象方法。
注:抽象方法是一種特殊的方法,它只有聲明,但沒有具體的實現。
接口只是一種形式,它本身是不能做任何事情;如果想要實現一個接口,那么就必須確保要實現這個接口里的所以方法。
抽象類和接口的區別:
1.抽象類可以同時具有抽象和具體方法;而,接口只能有抽象方法,它是抽象方法的集合(從Java 8開始,它也可以有默認和靜態方法)。
2.抽象類不支持多重繼承,一次只能擴展一個類或一個抽象類。接口支持多重繼承,可以一次擴展任意數量的接口。
3.抽象類可以有final,non-final,static和non-static等變量。接口只有靜態和最終變量。
4.抽象類可以擴展另一個具體(常規)類或抽象類,并實現Java接口(一個或多個)。一個接口只能擴展另一個Java接口,且接口不能實現抽象類。
5.在抽象類中,關鍵字:“abstract”是將方法聲明為抽象的必需項。在接口中,關鍵字:“abstract”是可選的,用于將方法聲明為抽象
7.可以使用關鍵字“extends”擴展抽象類。一個接口類可以使用關鍵字“implements”來實現。
8.Java抽象類可以具有受保護和公共抽象方法,可以有類成員,如private,protected等。默認情況下,Java接口的成員是公共的,接口只能有公共抽象方法。
以上就是動力節點java培訓機構的小編針對“Java編程技術分析,Java抽象類與接口區別”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習