抽象類:java
(1)用abstract關鍵字修飾,沒法實例化繼承
(2)可含有具體的方法實現接口
(3)抽象方法用(protected,public)(若是private 沒法被子類繼承)變量
(4)繼承抽象類的子類,不實現父類的抽象方法,也必須定義爲抽象類方法
接口:數據
(1)全部方法必須爲抽象方法static
(2)能夠含有變量(接口變量被隱式指定爲public static final)實例化
區別:interface
(1)java類能夠一次繼承關係,多個interface實現ab
(2)abstract中能夠含有數據成員,非abstract的方法。而interface,變量(public static final),方法(public abstract)
(3)interface的變量必須給初值
(4)abstract可含有static方法,interface不能有這個
(5)abstract和interface在繼承過程,不實現abstract方法是,子類與父類性質不變