介面與抽象類的區別

2021-09-27 00:24:33 字數 589 閱讀 4173

介面的方法預設是public,所有方法在介面內不能被實現(jdk8開始介面方法可以有預設實現),而抽象類可以有抽象方法。

介面中除了static,final變數(介面中的例項變數預設是final型別的),不能有其他,而抽象類則不一定。

乙個類可以實現多個介面,但只能實現乙個抽象類。介面自己本身可以通過extends關鍵字來擴充套件多個介面。

乙個類實現介面的話要實現介面的所有方法,而抽象類不一定。

介面不能用new例項化,但可以宣告,但必須引用乙個實現該介面的物件。

介面方法預設修飾符是public,抽象方法可以有public,protected,default這些修飾符(抽象方法就是為了被重寫所以不能用private修飾)

從設計層面看,抽象是對類的抽象,是一種模板設計,而介面是對行為的抽象,是一種行為的規範。

抽象類不一定包含抽象方法,但包含抽象方法的一定要被宣告為抽象類

抽象類不能被final修飾,當用final修飾乙個類時,表明這個類不能被繼承。這明顯違背了抽象類存在的意義。

都是上層的抽象層。

都不能被例項化

都能包含抽象的方法,這些抽象的方法用於描述類具備的功能,但是不比提供具體的實現。

介面與抽象類區別

介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。還有,介面可以實現多重繼承,而乙個類...

介面與抽象類區別

1 從形態上 抽象類可以給出一些成員的實現,介面卻不包含成員的實現。抽象類的抽象成員可被子類部分實現,介面的成員需要實現類完全實現,乙個類只能繼承乙個抽象類,但可實現多個介面 2 類是對物件的抽象,抽象類是對類的抽象,介面是對行為的抽象。也就是說介面是對類的區域性 行為 進行的抽象,而抽象類是對整體...

介面 與 抽象類 區別

抽像類和介面 區別 首先抽象類 1.抽象類不能被例項化,但可以被申明 2.抽象類不一定包含抽像方法 3.一旦類包含了abstract 方法那麼這個類必須宣告 關鍵字 abstract 4.抽像放不放不能有主體就是方法體 5,但是抽象類可以擁有實現的方法 6.乙個類只能繼承乙個抽像類 其次 是介面,就...