物件導向之介面

2021-10-10 19:57:49 字數 3300 閱讀 4876

概述

public

inte***ce 介面名稱

含有抽象方法

public

inte***ce

inte***cename

含有靜態方法和預設方法

public

inte***ce

inte***cename

}

類與介面的關係為實現關係,即類實現介面,該類可以稱為介面的實現類,也可以成為介面的子類。實現的動作類似於繼承、格式相仿,只是關鍵字不同,實現使用【implements】關鍵字非抽象類實現介面:

1、必須重寫介面當中的所有的抽象方法

2、繼承了介面的當中的預設方法,既可以直接呼叫,也可以重寫

實現的格式例子如下:

public

class 實現類 implements 介面名稱

抽象方法的使用必須全部實現:

**例子如下:

public

inte***ce

biological

// 定義乙個實現類

public

class

animal

implements

biological

@override

public

void

sleep()

}// 定義測試類

public

class

inte***cedemo01

}// 輸出結果:

// 吃東西

// 睡覺

預設方法的使用

可以繼承,可以重寫,二選其一,但是只能通過物件來呼叫

1、繼承預設方法如下:

public

inte***ce

biological

}// 定義實現類

public

class

animal

implements

biological

// 定義測試類

public

class

inte***cedemo02

}// 輸出結果:

// 天上飛

2、重寫預設方法,**如下:

public

inte***ce

biological

}// 定義實現類

public

class

animal

implements

biological

}// 定義測試類

public

class

inte***cedemo03

}// 輸出結果:

// 自由自在的飛

靜態方法的使用

public

inte***ce

biological

}// 定義實現類

public

class

animal

implements

biological

// 定義測試類

public

class

inte***cedemo04

}// 輸出結果:

// 跑起來吧。。。

私有方法的使用(jdk1.9)

// 定義乙個介面

public

inte***ce

biological

public

default

void

funmethod1()

public

default

void

funmethod2()

}

介面的多實現
public

class

classname

extends 父類 implements 介面名1

,介面2,.

....

.

抽象方法
// 定義多個介面

public

inte***ce

animal

public

inte***ce

human

// 定義實現類

public

class

people

implements

animal

,human

@override

public

void

run(

)}

預設的方法:

public

inte***ce

apublic

default

void

method()

}public

inte***ce

bpublic

default

void

method()

}// 定義實現類

public

class

cimplements

a,b

}

靜態方法:

public

inte***cea}

// 定義父類

public

classd}

// 定義子類

public

class

eextends

dimplements

a// 定義測試類

public

class

testinte***cedemo06

}// 輸出結果

// ddddddddddd

介面的多繼承【了解】

public

inte***cea}

public

inte***ceb}

// 定義子介面

public

inte***ce

cextends

a,b

}

備註:子類重寫預設方法,default可以保留。

其他成員特點:

介面的好處;

介面與抽象類的區別:

​ 相同點:

​ 區別:

物件導向之介面

1.什麼是介面?還有另外乙個關鍵字,也可以用來定義新的資料型別 inte ce 但是,使用inte ce關鍵字定義的新資料型別,有一些特殊的要求 1.1 在這種資料型別中,只能有方法宣告,不能有方法實現。1.2 在這種資料型別中,所宣告的成員變數,預設都是public static final的。1...

物件導向多型之介面

介面就是乙個規範,能力 可以實現某乙個功能 語法 public inte ce i.able 成員 介面中的成員不允許新增訪問修飾符,預設就是 public 類中預設是 private 不允許寫具有方法體的函式,不能包含字段 欄位是存資料用的 可以包含自動屬性 介面中只能有方法 方法 屬性 索引器 ...

PHP物件導向之介面

php與大多數物件導向程式設計語言一樣,不支援多重繼承。也就是說每個類 只能繼承乙個父類。為了解決此問題,php引入了介面。介面的思想是指定了乙個實現該介面的類必須實現的一系列方法。介面是一種特殊的抽象類,抽象類是一種特殊的類,所以介面也是一種特殊的類。為什麼說介面是一種特殊的抽象類呢?如果乙個抽象...