用abstract來修飾的類就稱為抽象類,用abstract來修飾的方法成為抽象方法,子類繼承抽象類的時候必須實現父類的抽象方法,(抽象類可以沒有抽象方法,但是如果抽象類沒有抽象方法,或者沒有其他類繼承於它,那麼抽象類就失去了意義)
當具體實現需要子類來完成的時候,就可以用抽象類。
1、抽象方法必須是public或者protected的,如果為抽象方法用private修飾,則該方法不能被子類實現,便無法實現該方法),預設的情況下用public。
2、抽象類無法建立物件;
3、子類必須實現父類的抽象方法。如果子類沒有實現父類的抽象方法,則必須將子類也定義為抽象類。
介面是一些方法特徵的集合,介面比抽象類更抽象,介面中所以方法都沒有具體實現,都由其實現類來實現,並且乙個類可以實現多個介面,如果是普通類則必須實習該介面的所有方法,如果是抽象類則不必.
從更深層次的角度來說,介面是定義與實現的分離,通過面向介面程式設計可以降低耦合
1、抽象類中的可以有非抽象方法,而介面中只能存在抽象方法;
2、抽象類中的成員變數可以是各種型別的,而介面中的成員變數只能是public static final
型別的;
3、介面中不能含有靜態**塊以及靜態方法,而抽象類可以有靜態**塊和靜態方法;
4、乙個類只能繼承乙個抽象類,而乙個類卻可以實現多個介面。
如果需要包含一些具體實現的那麼就選擇抽象類,如果只是定義規範那就用介面
//使用抽象形式定義test:
abstract class test
//使用介面形式定義test:
inte***ce door
//在抽象類中可以有普通方法
abstract class test
}
Java語言基礎 抽象類和介面
1.乙個類中的方法如果只有宣告沒有實現,則稱為抽象方法,必須用abstract修飾之 乙個有抽象方法的類稱為抽象類,也必須用abstract修飾之,但抽象類可以沒有抽象方法 抽象類不能被建立 抽象類 abstract class a 沒有抽象方法的抽象類 abstract class b publi...
Java 介面和抽象類
介面,inte ce,介面泛指供別人呼叫的方法和函式。介面的形式 public inte ce inte cename 介面的特點 1 介面中可以含有變數和方法。2 其中變數被隱式的指定為public static final 變數並且只能是這種變數。3 介面的方法隱式的指定為public abst...
java抽象類和介面
抽象類 乙個類中只要有乙個抽象方法 那麼這個類就必須是抽像的 抽象類必須要進行例項化 public abstract class animal class cat extends animal 介面 從本質上講介面是一種特殊的抽象類 介面中所有的方法都是抽象的 並且介面中的成員都是public 介面...