網(wǎng)址導(dǎo)航是什么瀏覽器蘋果aso優(yōu)化
目錄
定義
格式
使用
接口中成員的特點(diǎn)
成員變量
構(gòu)造方法
成員方法
JDK8新特性:可以定義有方法體的方法
默認(rèn)方法
作用
定義格式
注意事項(xiàng)
靜態(tài)方法
定義格式
注意事項(xiàng)
JDK9新特性:可以定義私有方法
私有方法的定義格式
接口和接口之間的關(guān)系
接口多態(tài)
適配器設(shè)計(jì)模式
設(shè)計(jì)模式
作用
書寫步驟
定義
接口就是一種規(guī)則,是對(duì)行為的抽象。
格式
public interface 接口名 {}
使用
- 接口不能實(shí)例化
- 接口和類之間是實(shí)現(xiàn)關(guān)系,通過implements關(guān)鍵字表示:
?????????????????????????????????????????????public class 類名 implements 接口名 {}
- 接口的子類(實(shí)現(xiàn)類)要么重寫接口中的所有抽象方法,要么是抽象類
- 接口和類的實(shí)現(xiàn)關(guān)系,可以單實(shí)現(xiàn),也可以多實(shí)現(xiàn):
?????????????????????????????????????????????public class 類名 implements 接口名1,接口名2,···,接口名n {}
- 實(shí)現(xiàn)類可以在繼承一個(gè)類的同時(shí)實(shí)現(xiàn)多個(gè)接口:
??????????????????????????????public class 類名 extends 父類 implements 接口名1,接口名2,···,接口名n {}
接口中成員的特點(diǎn)
成員變量
- 只能是常量
- 默認(rèn)修飾符:public static final
構(gòu)造方法
- 沒有構(gòu)造方法
成員方法
- JDK7以前:只能是抽象方法,默認(rèn)修飾符:public abstract
- JDK8新特性:可以定義有方法體的方法
- JDK9新特性:可以定義私有方法
JDK8新特性:可以定義有方法體的方法
默認(rèn)方法
- 允許在接口中定義默認(rèn)方法,需要使用default關(guān)鍵字來(lái)修飾
作用
解決接口升級(jí)的問題。
定義格式
public default 返回值類型 方法名(參數(shù)列表) {}
注意事項(xiàng)
- 默認(rèn)方法不是抽象方法,所以不被強(qiáng)制重寫。但是如果被重寫,需要去掉default關(guān)鍵字
- public可以省略,default不可以被省略
- 如果實(shí)現(xiàn)了多個(gè)接口,多個(gè)接口中存在相同名字的默認(rèn)方法,子類就必須對(duì)該方法進(jìn)行重寫
靜態(tài)方法
- 允許在接口中定義靜態(tài)方法,需要用static修飾。
定義格式
public static 返回值類型 方法名(參數(shù)列表) {}
注意事項(xiàng)
- 靜態(tài)方法只能通過接口名調(diào)用,不能通過實(shí)現(xiàn)類名或者對(duì)象名調(diào)用
- public可以省略,static不可以省略
JDK9新特性:可以定義私有方法
私有方法的定義格式
- 普通的私有方法,給默認(rèn)方法服務(wù):private 返回值類型 方法名(參數(shù)列表) {}
- 靜態(tài)的私有方法,給靜態(tài)方法服務(wù):private static 返回值類型 方法名(參數(shù)列表) {}
接口和接口之間的關(guān)系
繼承關(guān)系,可以單繼承,也可以多繼承。
注意:如果實(shí)現(xiàn)類實(shí)現(xiàn)下面的子接口,那么就需要重寫整個(gè)繼承體系里面的所有抽象方法。
接口多態(tài)
當(dāng)一個(gè)方法的參數(shù)是接口時(shí),可以傳遞接口所有實(shí)現(xiàn)類的對(duì)象,這種方式稱之為接口多態(tài)。
適配器設(shè)計(jì)模式
當(dāng)一個(gè)接口中抽象方法過多,但是只使用其中一部分的時(shí)候,就可以使用適配器設(shè)計(jì)模式。
設(shè)計(jì)模式
設(shè)計(jì)模式是一套被反復(fù)使用、多數(shù)人知曉、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序重用性。
作用
解決接口與接口實(shí)現(xiàn)類之間的矛盾問題。
書寫步驟
編寫中間類XXXAdapter實(shí)現(xiàn)對(duì)應(yīng)的接口,對(duì)接口中的抽象方法進(jìn)行空實(shí)現(xiàn),讓真正的實(shí)現(xiàn)類繼承中間類,并重寫需要用的方法,為了避免其他類創(chuàng)建適配器類的對(duì)象,中間的適配器類用abstract進(jìn)行修飾。