介面和抽象類的區別

2021-10-24 21:11:30 字數 638 閱讀 2421

抽象類使用abstract修飾;

抽象類不能例項化,即不能使用new關鍵字來例項化物件;

含有抽象方法(使用abstract關鍵字修飾的方法)的類是抽象類,必須使用abstract關鍵字修飾;

抽象類可以含有抽象方法,也可以不包含抽象方法,抽象類中可以有具體的方法;

如果乙個子類實現了父類(抽象類)的所有抽象方法,那麼該子類可以不必是抽象類,否則必須是抽象類;

抽象類中的抽象方法只有方法體,沒有具體實現

介面使用inte***ce修飾;

介面不能被例項化;

乙個類只能繼承乙個類,但是可以實現多個介面;

介面中方法均為抽象方法;

介面中不能包含例項域或靜態方法(靜態方法必須實現,介面中方法是抽象方法,不能實現)。

抽象類可以提供成員方法的實現細節,而介面中沒有;但是jdk1.8之後,在介面裡面可以定義default方法,default方法裡面是可以具備方法體的。

抽象類中的成員變數可以是各種型別的,而介面中的成員變數只能是public static final型別;

介面中每乙個方法也是隱式指定為 public abstract,不能含有靜態**塊以及靜態方法,而抽象類可以有靜態**塊和靜態方法;

乙個類只能繼承乙個抽象類,而乙個類卻可以實現多個介面。

抽象方法 抽象類 介面 介面和抽象類的區別

某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...

介面和抽象類區別

介面和抽象類有什麼區別 你選擇使用介面和抽象類的依據是什麼?介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是,這個物件是什麼。介面表示的是,這個物件能做什麼。比如,男人,女人,這兩個類 如果是類的話 他們的抽象類是人。說明,他們都是人。人可以吃東西,狗也可以吃東西,...

介面和抽象類區別

抽象類 特點 1.抽象類中可以構造方法 2.抽象類中可以存在普通屬性,方法,靜態屬性和方法。3.抽象類中可以存在抽象方法。4.如果乙個類中有乙個抽象方法,那麼當前類一定是抽象類 抽象類中不一定有抽象方法。5.抽象類中的抽象方法,需要有子類實現,如果子類不實現,則子類也需要定義為抽象的。介面 1.在介...