關(guān)于類(lèi)和接口關(guān)系

2019.7.30更新:以前的整理可能難于理解,現(xiàn)在再整一次(針對(duì)jdk1.8及以上)。

接口:

不是一個(gè)類(lèi)(也沒(méi)有繼承Object),不能實(shí)例化,但是可以聲明一個(gè)未初始化變量。不能有私有的成員變量或者方法。(參照菜鳥(niǎo)教程)

·??變量默認(rèn)是public static final 修飾,方法默認(rèn)是public abstract;

·??default修飾的方法必須有方法體,并且該接口的實(shí)現(xiàn)類(lèi)非必須實(shí)現(xiàn)defualt方法。static方法必須有方法體

·??如果該接口(A)的實(shí)現(xiàn)類(lèi)(AA)沒(méi)有實(shí)現(xiàn)A中所有的public方法,那么AA一定為abstract抽象類(lèi)。之后在AA的子類(lèi)或者實(shí)現(xiàn)類(lèi)中,需要繼續(xù)重寫(xiě)AA 沒(méi)有實(shí)現(xiàn)的方法。

抽象類(lèi):

除了不能實(shí)例化,其余跟普通的類(lèi)沒(méi)有區(qū)別。不同于接口,正常類(lèi)可以實(shí)例多個(gè)接口,但只能繼承一個(gè)類(lèi)。

· 抽象類(lèi)中的抽象方法一定是public abstract

· 抽象類(lèi)中不一定有抽象方法



以前的:

1.本質(zhì)上來(lái)講,接口也是一種類(lèi),是一種特殊的抽象類(lèi),但是這個(gè)抽象類(lèi)只包含常量和方法的定義,沒(méi)有方法的實(shí)現(xiàn)和變量。

2.接口里面封裝了很多方法,當(dāng)一個(gè)類(lèi)要實(shí)現(xiàn)一個(gè)接口,重寫(xiě)情況有兩種:一.子類(lèi)是抽象類(lèi),有選擇地重寫(xiě)接口里面的方法;二.子類(lèi)是非抽象類(lèi),必須全部重寫(xiě)。

3.一個(gè)類(lèi)可以繼承多個(gè)接口,但是只能繼承一個(gè)抽象類(lèi)。類(lèi)和接口沒(méi)有必然聯(lián)系。

4.抽象類(lèi)能夠定義非 static final 的屬性(field),而接口不能。接口的屬性都是static final的。抽象類(lèi)能夠定義非public方法,而接口不能。接口的方法默認(rèn)都是public的,因此繼承接口的類(lèi)的方法權(quán)限不能比public小(即只能是public)

接口中的方法默認(rèn)為public abstract,屬性默認(rèn)為public static final。接口中的方法不能有實(shí)現(xiàn),Java中類(lèi)只支持單繼承,而接口可以支持多繼承。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,924評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,765評(píng)論 18 399
  • 本文出自 Eddy Wiki ,轉(zhuǎn)載請(qǐng)注明出處:http://eddy.wiki/interview-java.h...
    eddy_wiki閱讀 1,227評(píng)論 0 5
  • 一、基本數(shù)據(jù)類(lèi)型 注釋 單行注釋?zhuān)?/ 區(qū)域注釋?zhuān)?* */ 文檔注釋?zhuān)?** */ 數(shù)值 對(duì)于byte類(lèi)型而言...
    龍貓小爺閱讀 4,288評(píng)論 0 16
  • 導(dǎo)讀:2016年結(jié)束了,炒得沸沸揚(yáng)揚(yáng)的小目標(biāo),到此時(shí)此刻你實(shí)現(xiàn)了多少,還虧欠多少?這是一個(gè)讓人值得反思的事情,職場(chǎng)...
    橙飛飛閱讀 186評(píng)論 0 0