抽象類 介面

2021-08-10 22:29:47 字數 1233 閱讀 4246

1.抽象類、介面、內部類。

抽象類:存在與父子類中,將子類中公有的方法放進父類,但是由於方法的實現方式在不同子了中又不同方式,

此時在父類中的方法不能寫具體的方法體,因此用abstract修飾寫成抽象類,因此該類沒有方法體,他是不完整的,

2.抽象類的特點  

1)由abstract修飾

2)包含抽象方法的類必須是抽象類

abstract aoo

不包含抽象方法的類也可以宣告為抽象類---我樂意

3)抽象類不能被例項化

aoo a=new aoo();錯

4)抽象類是需要被繼承的,子類:

4.1)重寫所有抽象方法----常用

4.2)也宣告為抽象類------不常用

abstract aoo

class boo extends aoo }

合法的例項化aoo a=new boo();向上造型。

3.抽象類的意義:

在父類中有乙個共有的方法,通過配合向上造型可以減少**量

1)封裝子類所共有的屬性和行為,**復用

2)為所有子類提供了統一的型別,向上造型

3)可以包含抽象方法,為所有子類提供了統一的入口

4.介面:

1)是乙個標準、規範

2)由inte***ce定義

3)只能包含常量和抽象方法

可以不寫public fianl static 

public abstract系統預設新增

注意在實現介面時需要重寫所有的抽象方法,在實現介面時要用public修飾(必須寫)

子類修飾許可權必須大於等於父類,父類預設是public子類必須也是public

在繼承中同樣的道理。子類許可權必須大於等於父類

4)介面不能被例項化

5)介面是需要被實現/繼承的,實現類/子類:

必須重寫介面中的所有抽象方法

6)乙個類可以實現多個介面

若又繼承又實現時,應先繼承後實現

7)介面可以繼承乙個或多個介面

public inte***ce aoo

class boo implements aoo }

public必須寫!!!!!!!!

5.抽象類和介面的區別:

全部子類公有方法抽成父類,如果方法的實現方式與物件有關,將該方法抽成抽象方法。由於方法是抽象方法所以類是抽象類。

部分子類公有方法構成介面。介面可以實現多個公有功能,但是在抽象類的繼承中,每個子類只能繼承乙個父類。

介面,抽象類

介面 用inte ce定義介面 由常量定義和方法定義兩部分組成 格式 修飾符 inte ce a extends b 在類中實現介面,方法名 返回值型別 引數的個數和型別必須與介面中完全一致 實現介面中所有方法 實現多個介面,中間用逗號分隔 抽象類包含抽象方法的乙個類 沒有足夠資訊描繪物件 用abs...

抽象類 介面

抽象類中的抽象方法禁止寫任何實現 1,a 抽象類不能被繼承 b 抽象方法不能有任何實現,一切實現都在子類中 c 抽象類中可以有非抽象方法,但是非抽象類絕對不能有抽象方法 class program public abstract class person public class chinese p...

抽象類 介面

1,包含乙個抽象方法的類必須是抽象類 2,抽象方法和抽象類都要使用abstract關鍵字宣告 3,抽象方法只需要宣告而不需要實現 4,抽象類必須被子類繼承,子類 如果不是抽象類 必須覆寫抽象類中的全部抽象方法 何來此問題呢?因為抽象類不能直接例項化,構造方法的作用就是例項化物件的時候,給物件初始化屬...