黑馬程序員-----抽象類和接口

 

----------------------android培訓   java培訓      期待與您交流! ----------------------

 

 

 

抽象類

1.抽象類是指被abstract關鍵字修飾的類。抽象方法是指被abstract修飾的方法。沒有abstract修飾的類叫做實體類。沒有abstract修飾的方法叫做實體方法。

2.抽象類和實體類有以下兩點不同:

   A.抽象類不能使用自己的構造方法創建對象(語法不允許),可以使用子類的構造方法創建對象。但是可以聲明對象,只是對象引用是空的。

   B.實體類不能包含抽象方法。抽象類可以包含抽象方法和實體方法。

3.抽象方法和實體方法有以下不同:

A.抽象方法沒有方法體,以分號結束。  public abstract void test(int a); 

B.抽象方法所在的類必須是抽象類。

   抽象類的子實體類必須重寫父類的所有抽象方法。

   抽象類的核心語法功能--------強制子類重寫某些方法。

4.抽象類的用途主要有兩個:

       嚴禁直接創建該類的對象

       強制子類重寫抽象方法

接口

接口是一種複合數據類型,是一套規範,規定實現的功能。

1.接口只能聲明兩個結構:

常量數據 :public static (final)

抽象方法 :public abstract

   接口中的方法只規定要做什麼,只規定實現的功能

接口聲明:

   訪問控制符 interface  extends 父接口,父接口2,。。。。。{

       常量數據

       抽象方法

 D 和抽象類一樣,接口只能聲明對象,不能創建對象

2.實現接口的語法:

訪問控制符 [修飾符] class 類名 [extends 父類名] implements 父接口名 1,父接名2。。。 

      子類繼承父接口所有的常量數據和抽象方法,如果子類不重寫(覆蓋)父接口中的抽象方法,則子類必須聲明爲抽象類。

 

抽象類和接口的比較

不同點:

1.不同的結構

抽象類是特殊的類,內部結構有屬性,構造方法,方法(實體方法和抽象方法)。

接口只有常量數據,抽象方法。

2.抽象類只能單一繼承,接口可以多重繼承。

3.抽象類可以繼承類,而接口不能。

聯繫(相同點

1.都可以聲明對象,但只能用子類的構造方法創建。

2.都可以包含抽象方法。

3.抽象類和接口都可以代表一種類型,從而可以統一子類對象的類型,獲得良好的可擴展性。  

 

 

----------------------android培訓   java培訓      期待與您交流! ----------------------

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章