abstract class本質上是一種特殊的類: 抽象類
它與普通類的區別主要在於:
1. 不能創建實例對象
2. 可以定義抽象方法,不包含構造方法與靜態方法
普通類中則不能定義抽象方法
當然也可以不定義抽象方法,不過這樣類也沒有必要定義成抽象啊 =_=!
此處說明下靜態方法: 由於抽象方法是提供給子類覆蓋的,而靜態方法不能被繼承,若靜態方法是抽象的那就不可能被實現
interface 我認爲不能將其看做爲特殊的類或特殊的抽象類,而應該理解爲聲明瞭一種規則
主要特點有:
1. 成員變量默認都爲常量public static final 修飾
2. 方法默認都爲public abstract 修飾
3. 沒有構造方法
一個類可以實現多個接口,只能繼承一個抽象類
模板方法模式是抽象類的典型應用,在模板基類中實現公共方法,由於子類功能不同,父類不確定如何實現,則定義爲抽象方法交由子類實現.