1 因為java不支持多重繼承,所以有了接口,一個類只能繼承一個父類,但可以實現(xiàn)多個接口,接口本身也可以繼承多個接口。
2 接口里面的成員變量默認都是public static final類型的。必須被顯示的初始化。
3 接口里面的方法默認都是public abstract類型的。隱式聲明。
4 接口沒有構(gòu)造方法,不能被實例化。
5 接口不能實現(xiàn)另一個接口,但可以繼承多個接口。
6 類如果實現(xiàn)了一個接口,那么必須實現(xiàn)接口里面的所有抽象方法,否則類要被定義為抽象類。
抽象類
1 如果將一個類聲明為abstract,此類不能生成對象,只能被繼承使用。
2 抽象方法必須存在于抽象類中。
3 抽象類中可以有一般的變量和一般的方法。
4 子類繼承抽象類必須實現(xiàn)其中抽象方法,除非子類為抽象類。
1
2
|
private void print(){};此語句表示方法的空實現(xiàn)。 abstract void print(); 此語句表示方法的抽象,無實現(xiàn)。 |
接口和抽象類的區(qū)別
1 接口只能包含抽象方法,抽象類可以包含普通方法。
2 接口只能定義靜態(tài)常量屬性,抽象類既可以定義普通屬性,也可以定義靜態(tài)常量屬性。
3 接口不包含構(gòu)造方法,抽象類里可以包含構(gòu)造方法。
抽象類不能被實例化,但不代表它不可以有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù),備繼承類擴充.
以上所述是小編給大家介紹的Java中抽象類和接口的區(qū)別_動力節(jié)點Java學(xué)院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!