您好,登錄后才能下訂單哦!
這篇文章運(yùn)用簡單易懂的例子給大家介紹java中接口的定義和使用方法,文章內(nèi)容步步緊湊,希望大家根據(jù)這篇文章可以有所收獲。
定義:接口就是多個(gè)類的共有規(guī)范(里面的抽象方法),是一種引用數(shù)據(jù)類型。
小提示:基本數(shù)據(jù)類型包括數(shù)值型(整數(shù)和浮點(diǎn)數(shù))、字符型、布爾型。
格式:
public interface 接口名稱{ //接口內(nèi)容 }
備注:接口.java編譯后仍然是接口.class
接口包含的內(nèi)容:
java 7(1.常量 2.抽象方法) java 8(3.默認(rèn)方法 4.靜態(tài)方法) java 9(私有方法)
一、常量
常量類似接口的“成員變量”,必須加上public static final三個(gè)關(guān)鍵字修飾。
格式:
public static final 數(shù)據(jù)類型 常量名稱 = 數(shù)據(jù)值;
注意:
1.三個(gè)關(guān)鍵字可以省略;
2.接口常量必須被復(fù)制;
3.接口中常量名稱,使用完全大寫字母,并用下劃線隔開(MY_AGE)。
二、抽象方法
抽象方法的修飾符同樣是固定的兩個(gè)關(guān)鍵字`public abstract`(可以省略任一關(guān)鍵字);
抽象方法接口不能直接使用,必須有一個(gè)實(shí)現(xiàn)類去實(shí)現(xiàn)該接口,實(shí)現(xiàn)類必須覆蓋重寫(實(shí)現(xiàn))接口內(nèi)所有的抽象方法,否則這個(gè)實(shí)現(xiàn)類就成了抽象類(abstract)。
格式:
public class 實(shí)現(xiàn)類名稱 iplements 接口名稱{ //方法體 }
public abstract 返回值類型 方法名稱(參數(shù)列表);
三、默認(rèn)方法
接口的默認(rèn)方法是用來解決接口升級的問題。
格式:
public default 返回值類型 方法名稱(參數(shù)列表){ //方法體 }
使用:1、被接口實(shí)現(xiàn)類對象直接調(diào)用;2、可以被接口實(shí)現(xiàn)類進(jìn)行覆蓋重寫。
四、靜態(tài)方法
public static 返回值類型 方法名稱(參數(shù)列表){ //方法體 }
靜態(tài)方法使用直接是:接口名稱.靜態(tài)方法名(參數(shù)列表)。
五、私有方法
在接口中如果有多個(gè)默認(rèn)方法(default)存在重復(fù)代碼,可以定義一個(gè)共有方法解決,但是這個(gè)共有方法是屬于這多個(gè)默認(rèn)方法使用的,是私有化的不能讓實(shí)現(xiàn)類使用。
1、普通私有方法(默認(rèn)方法default)
private 返回值類型 方法名稱(參數(shù)列表){ //方法體 }
2、靜態(tài)私有方法(靜態(tài)方法static)
private static 返回值類型 方法名稱(參數(shù)列表){ //方法體 }
繼承父類并實(shí)現(xiàn)多個(gè)接口:
1、接口不能有靜態(tài)代碼塊;不能有構(gòu)造方法;
2、一個(gè)類只能繼承一個(gè)父類但是可以實(shí)現(xiàn)多個(gè)接口;
格式:
public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB{ //覆蓋重寫接口所有的抽象方法 //也可以重寫接口內(nèi)的默認(rèn)方法 }
3、接口內(nèi)存在兩個(gè)或多個(gè)重名抽象方法時(shí),實(shí)現(xiàn)一次就可以;
4、接口內(nèi)存在兩個(gè)或多個(gè)重名默認(rèn)方法時(shí),需要對這個(gè)默認(rèn)方法進(jìn)行重寫;
5、一個(gè)類直接繼承父類的方法和實(shí)現(xiàn)接口的方法重名時(shí),繼承關(guān)系優(yōu)先于接口實(shí)現(xiàn)。
接口之間的多繼承:
1.類與類時(shí)但繼承;
2.類與接口是多實(shí)現(xiàn);
3.接口與接口之間是多繼承的。
關(guān)于java中接口的定義和使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。