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

2021-08-02 11:49:46 字數 872 閱讀 5625

abstract

抽象類是不能被例項化的類,可以由其子類來例項化,就像模板一樣(就像貓科,犬科),目的是根據其格式和要求來新建物件。當乙個類被宣告為抽象類時,要在這個類前面加上修飾符abstract。

抽象類中的兩種方法:抽象方法和非抽象方法

抽象方法前面由abstract關鍵字,這種方法只宣告返回的資料型別、方法名稱和所需的引數,沒 有方法體,也就是說抽象方法只需要宣告而不需要實現。

非抽象方法和正常類中方法一樣。

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

抽象類中可以包含構造方法, 但是構造方法不能被宣告為抽象。

abstract不能與private、static、final、native並列修飾同乙個方法或類。

程式舉例:

abstract class animal    //定義抽象類

abstract void eat();      //定義抽象方法

}class horse extends animal     //定義繼承animal的子類

void eat()      //重寫父類的抽象方法

}抽象類和介面的區別

1.乙個類可以實現多個介面,但只能繼承乙個抽象類,它不能是貓科類同時還是犬科類

2.乙個抽象類可以有若干抽象方法(可以是抽象的,也可以是非抽象的),介面裡的都是抽象方法,即使不用abstract關鍵字

3.抽象類可以有構造方法,而介面不能有

4.抽象類的修飾符可以是public ,private ,protected或無修飾符(包內可見),而介面的修飾符只能是public ,或無修飾符(包內可見)

5.抽象類是從object類派生而來,它繼承了object的clone()和equals()方法。

介面,抽象類和抽象方法

1.定義介面 介面使用 inte ce 關鍵字宣告,它與類的宣告類似。介面宣告預設 是 public 的。通常介面命名已i字母開頭。inte ce 介面名 2.介面繼承介面 多個介面用,號進行區分 inte ce 介面名 繼承的介面名 3.類實現介面 訪問修飾符 class 類名 介面名 4.乙個類...

抽象類,抽象方法和介面

抽象類 抽象類是一種模板模式,為所有子類提供乙個通用模板,子類可以在這個模板基礎上進行擴充套件。通過抽象類,可以避免子類設計的隨意性。通過抽象類,我們可以做到嚴格限制子類的設計,使子類之間更加通用。抽象類的要點 public abstract class animal class student e...

抽象類,抽象方法和介面

含有抽象方法的類 沒有方法實現體的方法就是抽象方法 抽象方法的關鍵字是abstract 抽象方法沒有方法體 public abstract 返回值資料型別 抽象方法名 引數列表 注意抽象方法沒有方法體 public abstract class 類名1.乙個類繼承抽象類,那麼就會重寫抽象類中所有的抽...