抽象類,抽象方法和介面

2021-10-20 22:41:21 字數 1847 閱讀 6804

含有抽象方法的類

沒有方法實現體的方法就是抽象方法

抽象方法的關鍵字是abstract 抽象方法沒有方法體

public

abstract 返回值資料型別 抽象方法名(引數列表)

;

注意抽象方法沒有方法體

public

abstract

class 類名

1.乙個類繼承抽象類,那麼就會重寫抽象類中所有的抽象方法.

2.抽象方法只存在於抽象類或者介面之中

1.不能直接例項化抽象類,不能直接例項化介面

2.用子類繼承抽象類或者實現介面,就能重寫裡面的抽象方法

3.在測試類裡面,建立子類物件,再呼叫和子類裡面重寫的抽象方法就能使用抽象方法了

4.子類必須重寫抽象類中所有的抽象方法

1.抽象類不能直接例項化.

2.子類繼承抽象類,必須沖洗全部的抽象方法

3.抽象類不一定包含抽象方法,但是含有抽象方法的類一定是抽象類

介面:多個類的公共規範,以抽象方法為主

介面的宣告格式:

public

inte***ce 介面名(

)

1.常量

2.抽象方法(主要)

3.預設方法(default修飾)(jdk1.8)

4.靜態方法(static修飾)(jdk1.8)

5.私有方法(private修飾)(jdk1.9) 主要是供給預設方法和私有方法使用

1.介面不能直接使用,只能用乙個類來實現介面( implements )

public

class 類名 implements 介面名(

)

2.介面的實現類必須重寫介面的多有方法,介面沒有構造方法,抽象類有構造方法

3.通過實現類物件呼叫介面的抽象方法

實現類實現介面必須重寫介面中所有的抽象方法

public

default

void 方法名(

)//供給子類呼叫或者只能選擇其中之一

1.實現類重寫抽象方法

2.重寫預設方法不可以省略default

3.如果沒有沖洗而預設方法就是繼承了

4.實現類實現多個介面,那麼遇到預設方法重名就必須重寫

public

static

void 方法名(

)

1.靜態方法是屬於類的,可以通過介面名呼叫 介面名.靜態方法名()

private

void 方法名(

)

1.私有方法只有預設方法才能使用它

2.私有靜態方法 預設方法和靜態方法都可以使用它

3.如果乙個介面有很多預設方法,可以抽取出來

1.重寫的標記 @override

如果父類中的成員方法和介面種的抽象方法重名,那麼就優先執行父類中成員方法的繼承

public

class 類名 implements 介面1

, 介面2()

1.制定規則和格式

2.高內聚,低耦合,方便維護強制要求每個方法單獨實現

3.擴充套件原有功能

1.都含有抽象方法,可以被子類重寫

2.不能被直接例項化

3.只能被實現和繼承,位於繼承的頂端

1.抽象類含有普通成員方法,介面不含有

2.乙個類只能繼承乙個抽象類,但是能夠實現很多介面

3.類與類之間單繼承,介面與介面之間實現

4.抽象類有構造方法,介面沒有構造方法

介面,抽象類和抽象方法

1.定義介面 介面使用 inte ce 關鍵字宣告,它與類的宣告類似。介面宣告預設 是 public 的。通常介面命名已i字母開頭。inte ce 介面名 2.介面繼承介面 多個介面用,號進行區分 inte ce 介面名 繼承的介面名 3.類實現介面 訪問修飾符 class 類名 介面名 4.乙個類...

抽象類,抽象方法和介面

抽象類 抽象類是一種模板模式,為所有子類提供乙個通用模板,子類可以在這個模板基礎上進行擴充套件。通過抽象類,可以避免子類設計的隨意性。通過抽象類,我們可以做到嚴格限制子類的設計,使子類之間更加通用。抽象類的要點 public abstract class animal class student e...

抽象方法和抽象類 介面

抽象方法 使用abstract修飾的方法,沒有方法體,只有宣告。定義的是一種 規範 就是告訴子類必須要給抽象方法提供具體的實現。抽象類 包含抽象方法的類就是抽象類。通過abstract方法定義規範,然後要求子類必須定義具體實現。通過抽象類,我們就可以做到嚴格限制子類的設計,使子類之間更加通用。抽象類...