介面與抽象的區別

2021-09-27 12:01:28 字數 723 閱讀 2056

抽象類的使用特點:

1.抽象類不能有例項化物件;

2.有抽象方法的類一定是抽象類,但是抽象類中不一定有抽象方法;

3.抽象類中的抽象方法必須在子類中被重寫。

4.抽象方法沒有方法體;

5.抽象類定義用abstract關鍵字修飾

介面的使用特點:

1.介面中的所有方法都是抽象的

2.介面不能被例項化

3.介面中的屬性必須是全域性常量

4.子類實現介面時需要實現介面中的所有方法

介面和抽象類的區別:

區別一:  抽象類中可以存在非抽象的方法; 介面中的方法被預設的變成抽象方法,只要是定義了介面,介面中的方法 就全部變成了抽象類即使你不寫 abstract  它也是抽象的方法    

區別二:   抽象類可定義構造方法,可以有抽象方法和具體方法;介面完全是抽象的,沒構造方法,且方法都是抽象的,不存在方法的實現

區別三:   抽象方法可以有publicprotecteddefault這些修飾符   介面中的方法全都被預設的修飾為: public  abstract   型別的方法

區別四:  乙個類只能繼承乙個抽象類 ;  乙個類可以實現多個介面  ,介面可以實現多繼承   

區別五:  抽象類中的非抽象的方法可以選擇繼承    介面中的方法必須全部被重寫 ,並且全部是公有的public 方法.

介面與抽象區別

net提供了介面,這個不同於class或者struct的型別定義。介面有些情況,看似和抽象類一樣,因此有些人認為在.net可以完全用介面來替換抽象類。其實不然,介面和抽象類各有長處和缺陷,因此往往在應用當中,兩者要結合來使用,從而互補長短。接下來先說說抽象類和介面的區別。區別一,兩者表達的概念不一樣...

介面與抽象的區別

宣告方法的存在而不去實現它的類被叫做抽象類 abstract class 它用於要建立乙個體現某些基本行為的類,並為該類宣告方法,但不能在該類中實現該類的情況。不能建立abstract 類的例項。然而可以建立乙個變數,其型別是乙個抽象類,並讓它指向具體子類的乙個例項。不能有抽象建構函式或抽象靜態方法...

介面與抽象方法的區別

1.乙個類可以實現任意多個介面,但它最多只能擴充套件乙個抽象類。2.乙個抽象類可以含有若干個非抽象的方法,而乙個介面的所有方法都是抽象的,無論你是否將它的方法顯式地宣告為抽象的。3.抽象類可以宣告和使用字段 而介面不能,儘管介面可以建立static final常量。4.抽象類方法的可見性修飾符可以是...