抽象類抽象方法和接口

抽象類

使用了關鍵詞abstract聲明的類叫作“抽象類”。如果一個類裏包含了一個或多個抽象方法,類就必須指定成abstract(抽象)。抽象類是用來捕捉子類的通用特性的。
定義格式

abstract class 類名 {}

抽象方法

屬於一種不完整的方法,只含有一個聲明,沒有方法主體。
格式

public abstract void eat();

特點

1.抽象類無法直接實例化
2.抽象類中可以有抽象方法也可以有非抽象方法,但抽象方法只能在抽象類中
3.抽象類中存在構造方法,用於子類訪問父類數據時的初始化
4.抽象類中也可以有成員變量,常量
5.抽象類的子類要麼也是抽象類,要麼就把其中的抽象方法全部重寫
6.抽象方法具有強制性,要求子類必須重寫,非抽象方法不具有強制性

接口

接口是抽象方法的集合,用關鍵字interface定義
格式

interface 接口名 {}

接口和類是平級的,類可以通過關鍵字implements實現接口,如果一個類實現了某個接口,那麼它就繼承了這個接口的抽象方法
格式

class 類名 implements 接口名 {}

接口特點

1.接口無法直接實例化,若想實例化,可以按照多態的方式實例化
2.接口中只能定義抽象方法,不能定義非抽象方法
3.接口中沒有構造方法
4.接口中的方法前面有默認修飾符 public abstract但是建議自己寫上
5.接口中全是靜態常量,沒有成員變量這一說,因爲在前面有默認的public static final

類與接口與類的關係

1.類與類之間的關係:繼承關係 ,單繼承,支持多層繼承 ; 關鍵字:extend
2.類與接口之間的關係:類實現接口 ,支持單實現,也支持多實現;關鍵字:implement**
3.接口與接口之間的關係:繼承關係 支持多繼承
另外,一個類在繼承其他類的同時也可以實現接口

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