----------------------android培訓 java培訓
期待與您交流! ----------------------
抽象類
1.抽象類是指被abstract關鍵字修飾的類。抽象方法是指被abstract修飾的方法。沒有abstract修飾的類叫做實體類。沒有abstract修飾的方法叫做實體方法。
2.抽象類和實體類有以下兩點不同:
A.抽象類不能使用自己的構造方法創建對象(語法不允許),可以使用子類的構造方法創建對象。但是可以聲明對象,只是對象引用是空的。
B.實體類不能包含抽象方法。抽象類可以包含抽象方法和實體方法。
3.抽象方法和實體方法有以下不同:
A.抽象方法沒有方法體,以分號結束。 public abstract void test(int a);
B.抽象方法所在的類必須是抽象類。
抽象類的子實體類必須重寫父類的所有抽象方法。
抽象類的核心語法功能--------強制子類重寫某些方法。
4.抽象類的用途主要有兩個:
嚴禁直接創建該類的對象
強制子類重寫抽象方法
接口
接口是一種複合數據類型,是一套規範,規定實現的功能。
1.接口只能聲明兩個結構:
A 常量數據 :public static (final)
B 抽象方法 :public abstract
接口中的方法只規定要做什麼,只規定實現的功能
C 接口聲明:
訪問控制符 interface extends 父接口1 ,父接口2,。。。。。{
常量數據
抽象方法
}
D 和抽象類一樣,接口只能聲明對象,不能創建對象
2.實現接口的語法:
訪問控制符 [修飾符] class 類名 [extends 父類名] implements 父接口名 1,父接名2。。。
子類繼承父接口所有的常量數據和抽象方法,如果子類不重寫(覆蓋)父接口中的抽象方法,則子類必須聲明爲抽象類。
抽象類和接口的比較
不同點:
1.不同的結構
抽象類是特殊的類,內部結構有屬性,構造方法,方法(實體方法和抽象方法)。
接口只有常量數據,抽象方法。
2.抽象類只能單一繼承,接口可以多重繼承。
3.抽象類可以繼承類,而接口不能。
聯繫(相同點) :
1.都可以聲明對象,但只能用子類的構造方法創建。
2.都可以包含抽象方法。
3.抽象類和接口都可以代表一種類型,從而可以統一子類對象的類型,獲得良好的可擴展性。
----------------------android培訓 java培訓
期待與您交流! ----------------------