2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術(shù)文章正文

Java接口怎樣使用?JDK8接口新特性詳解

更新時間:2023-08-31 來源:黑馬程序員 瀏覽量:

IT培訓班

接口可以理解為是一種規(guī)范,接口中的成員都是public修飾的,寫不寫都是,因為規(guī)范的目的是為了公開化。Java JDK8之前接口中只能是抽象方法和常量,沒有其他成分。但需要注意接口不能實例化。

接口的用法:

接口是用來被類實現(xiàn)(implements)的,實現(xiàn)接口的類稱為實現(xiàn)類。實現(xiàn)類可以理解成所謂的子類。

修飾符 class 實現(xiàn)類 implements 接口1, 接口2, 接口3 , ... {
}
實現(xiàn)的關(guān)鍵字:implements

從上面可以看出,接口可以被類單實現(xiàn),也可以被類多實現(xiàn),也就是一個接口可以繼承一個接口也可以同時繼承多個接口。但一個類實現(xiàn)接口,必須重寫完全部接口的全部抽象方法,否則這個類需要定義成抽象類。

JDK8開始接口新增的方法

默認方法

類似之前寫的普通實例方法必須用default修飾,默認會public修飾。需要用接口的實現(xiàn)類的對象來調(diào)用。

default void run(){
   System.out.println("--開始跑--");
}

靜態(tài)方法

默認會public修飾,必須static修飾。接口的靜態(tài)方法必須用本身的接口名來調(diào)用,靜態(tài)方法實現(xiàn)可以參考以下方法。

static void inAddr(){
   System.out.println("我們都在黑馬培訓中心快樂的學習Java!");
}

私有方法

私有方法就是私有的實例方法:,必須使用private修飾,從JDK 1.9才開始有的。只能在本類中被其他的默認方法或者私有方法訪問。

private void go(){
    System.out.println("--準備--");
}

JDK8版本開始后,Java只對接口的成員方法進行了新增,允許接口中直接定義帶有方法體的方法,原因是接口豐富后可能對子代碼進行更改。
例如下面的項目,Version1.0 成功上線沒有問題。

public interface Inter {
    …若干抽象方法
}
public class InterImplA implements Inter {}
public class InterImplB implements Inter {}

在項目Version2.0時需要擴展功能,對Inter接口豐富,于是加入10個新的抽象方法,此時改了接口就要所有實現(xiàn)類實現(xiàn)這些方法。

public interface Inter {
    …若干抽象方法
}
public class InterImplA implements Inter {}
public class InterImplB implements Inter {}

要豐富接口功能的同時又不對子類代碼進行更改。就要允許接口中直接定義帶有方法體的方法。

注意:JDK8新增的3種方法我們自己在開發(fā)中很少使用,通常是Java源碼涉及到的,我們需要理解、識別語法、明白調(diào)用關(guān)系即可。


分享到:
在線咨詢 我要報名
和我們在線交談!