abstract class與interface

abstract class本質上是一種特殊的類: 抽象類

它與普通類的區別主要在於:

1. 不能創建實例對象

2. 可以定義抽象方法,不包含構造方法與靜態方法

    普通類中則不能定義抽象方法

    當然也可以不定義抽象方法,不過這樣類也沒有必要定義成抽象啊 =_=!

    此處說明下靜態方法: 由於抽象方法是提供給子類覆蓋的,而靜態方法不能被繼承,若靜態方法是抽象的那就不可能被實現


interface 我認爲不能將其看做爲特殊的類或特殊的抽象類,而應該理解爲聲明瞭一種規則

主要特點有:

1. 成員變量默認都爲常量public static final 修飾

2. 方法默認都爲public abstract 修飾

3. 沒有構造方法


一個類可以實現多個接口,只能繼承一個抽象類


模板方法模式是抽象類的典型應用,在模板基類中實現公共方法,由於子類功能不同,父類不確定如何實現,則定義爲抽象方法交由子類實現.


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