一、抽象
1.什麼是抽象類
abstract修飾的類是抽象類,含有抽象方法的也是抽象類。
2.需要注意的點
1>抽象可以有普通方法、成員變量
2>抽象方法必須用public或protected,(如果爲private,子類不能繼承這個方法,沒有意義)缺省情況下爲public
3>抽象類不能創建對象
4>子類繼承抽象類,要實現抽象類的抽象方法
二、接口
1.什麼是接口
提供被別人調用的方法或函數的類(對行爲的抽象)
2.需要注意的點
1>接口可以有變量和方法,變量會被隱式的聲明爲 public static final (用private修飾會報編譯錯誤),方法會被隱式聲明爲 public abstract ,且只能是public abstract (不能用 private 、protected、final 、static),接口中的所有方法不能有具體的實現,接口的方法必須都是抽象方法
2>實現接口的類必須實現接口中的所有方法
三、抽象類和接口的區別
1.一個類看可以實現多個接口但只能繼承一個抽象類
2.抽象是對一個事物的抽象,包括屬性和行爲,接口是對行爲的抽象
3.抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是public static final類型的
4.接口中不能含有靜態代碼塊以及靜態方法,而抽象類可以有靜態代碼塊和靜態方法