Java中抽象類和介面的區別,java中抽象類和介面的區別

2021-03-04 05:07:40 字數 2072 閱讀 9342

1樓:育知同創教育

簡單來說,

介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,

另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。

還有,介面可以實現多重繼承,而乙個類只能繼承乙個超類,但可以通過繼承多個介面實現多重繼承,介面還有標識(裡面沒有任何方法,如remote介面)和資料共享(裡面的變數全是常量)的作用.

2樓:被遺忘的腦細胞

這個定義已經比較模糊了

java中抽象類和介面的區別

3樓:青鳥中關村專家

乙個類可以有多個介面 只能有繼承乙個父類

抽象類可以有構造方法,介面中不能有構造方法。

抽象類中可以有普通成員變數,介面中沒有普通成員變數介面裡邊全部方法都必須是abstract的 抽象類的可以有實現了的方法

抽象類中的抽象方法的訪問型別可以是public,protected 但介面中的抽象方法只能是public型別的,並且預設即為public abstract型別

抽象類中可以包含靜態方法,介面中不能包含靜態方法抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能是public static final型別,並且預設即為public static final型別。

4樓:育知同創教育

1.乙個類可以實現多個介面 ,但卻只能繼承最多乙個抽象類。

2.抽象類可以包含具體的方法 , 介面的所有方法都是抽象的。

3.抽象類可以宣告和使用字段 ,介面則不能,但介面可以建立靜態的final常量。

4.介面的方法都是public的,抽象類的方法可以是public,protected,private或者預設的package;

5.抽象類可以定義建構函式,介面卻不能。

c#中抽象類和介面的區別

5樓:好程式設計師

c#一、抽象類:

抽象類是特殊的類,只是不能被例項化;除此以外,具有類的其他特性;重要的是抽象類可以包括抽象方法,這是普通類所不能的。抽象方法只能宣告於抽象類中,且不包含任何實現,派生類必須覆蓋它們。另外,抽象類可以派生自乙個抽象類,可以覆蓋基類的抽象方法也可以不覆蓋,如果不覆蓋,則其派生類必須覆蓋它們。

二、介面:

介面是引用型別的,類似於類,更和抽象類有所相似,以至於很多人對抽象類和介面的區別比較模糊。和抽象類的相似之處有三點:

1、不能例項化;

2、包含未實現的方法宣告;

3、派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員(不僅是方法包括其他成員);

另外,介面有如下特性:

介面除了可以包含方法之外,還可以包含屬性、索引器、事件,而且這些成員都被定義為公有的。除此之外,不能包含任何其他的成員,例如:常量、域、建構函式、析構函式、靜態成員。

乙個類可以直接繼承多個介面,但只能直接繼承乙個類(包括抽象類)。 其實java的介面和抽象類跟c#是差不多的, 他們的特性是相同!別的就是語法的不同了!

java介面和抽象類的區別

6樓:育知同創教育

java中的抽象類是用來抽象子類的通用特性,本質上還是類,可以含有屬性和方法(包括構造方法)。但是與普通類不同的是,它不能夠被例項化,只能被繼承,而且它可以含有抽象方法(沒有具體實現)。子類繼承抽象類時,需要重寫抽象方法。

java中的介面是抽象方法的集合,它沒有構造方法,而且不能含有普通方法(可以含有屬性)。如果乙個類實現了某個介面,就必須重寫介面的所有抽象方法。

java中抽象類和介面的區別是什麼

7樓:千鋒教育

介面中的方法只能是定義不可以有實現,而且所有成員預設均為公有的,實現介面時必須實現該介面定義的所有方法。介面可以多重繼承。

而抽象類中則可以存在私有成員,方法允許有實現,繼承抽象後可以不去實現該抽象類的抽象方法

c抽象類和普通類的區別,java中抽象類和介面的區別?

1.c 沒有abstract.vc提供了乙個inte ce 2.抽象類就是指不能例項化的類,因為它們包含了純虛方法。3.虛函式是在申明的時候用了關鍵字virtual的類的 非靜態 成員函式 java中抽象類和介面的區別?抽象類是用來捕捉子類的通用特性的 它不能被例項化,只能被用作子類的超類。抽象類是...

java中的抽象類和介面該怎麼理解?定義上有什麼區

在物件導向的概念中,我們知道 所有的物件都是通過類來描繪的,但是並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。抽象類往往用來表徵我們在對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象,我們不能把...

java中抽象類可以繼承實體類嗎

抽象類可以繼承實體類,因為抽象類中不僅可以有抽象方法,也可以有非抽象方法,抽象類繼承了實體類則即包括自己的抽象方法也包括了繼承來的非抽象方法 1 抽象類只是乙個特殊的類,但是也具備類的特性。2 如果這個類中有抽象方法,那麼這個類必須定義為抽象類。3 如果這個抽象類繼承了別的抽象類,那麼可以不覆蓋抽象...