Java基礎(chǔ)系列1:接口

java基礎(chǔ):接口
接口
  • 接口(英文:interface),在java編程語(yǔ)言中是一個(gè)抽象類型,是抽象方法的集合,接口通常以interface來聲明。
  • 接口無法被實(shí)例化,但是可以被實(shí)現(xiàn)。一個(gè)實(shí)現(xiàn)接口的類,必須實(shí)現(xiàn)接口內(nèi)描述的所有方法,否則就必須聲明為抽象類。
  • 另外,在java中可以聲明變量,他們可以成為一個(gè)空指針,或被綁定在一個(gè)依次接口實(shí)現(xiàn)的對(duì)象。
接口特性
  1. 接口中每一個(gè)方法都是隱式抽象的,接口中的方法會(huì)被隱式的指定為public abstract(只能是這個(gè))
  2. 接口中可以有變量,會(huì)被隱式的指定為public stataic final 字段(只能是public)
  3. 接口中方法都是公有的。
  4. 接口可以多繼承。
接口聲明
(public) interface 接口名稱 【extend 其他接口名】{
      (public static final ) int a = 0;
       (public abstract) void fun();
   }
重寫接口的方法,注意事項(xiàng)
  • 類在實(shí)現(xiàn)接口是,不能拋出強(qiáng)制性異常,只能在繼承接口中,或繼承接口抽象類中拋出該強(qiáng)制性異常
  • 類在重寫是要保持一致的方法名,并且返回值類型保持相同或者相兼容。
  • 如果實(shí)現(xiàn)接口的類是抽象類,那么沒必要實(shí)現(xiàn)該接口的方法。
在實(shí)現(xiàn)接口時(shí),注意事項(xiàng)
  • 一個(gè)類可以實(shí)現(xiàn)多個(gè)接口
  • 一個(gè)接口可以繼承另一個(gè)接口,與類之間的繼承比較相似
標(biāo)記接口

最常用的繼承接口是標(biāo)記接口,既沒有包含任何方法的接口。

  • 定義:標(biāo)機(jī)接口是沒有任何方法與屬性的接口。僅僅表名他的類屬于一個(gè)特定的類型,供其他代碼來測(cè)試允許做一些事情。
  • 作用:簡(jiǎn)單來說就是給對(duì)象蓋個(gè)戳,是對(duì)想擁有某個(gè)或者某些特權(quán)。
  • 目的:
    (1)建立一個(gè)公共父接口:
    (2)向一個(gè)類型添加數(shù)據(jù)類型:這種情況是標(biāo)記接口最初的目的,實(shí)現(xiàn)標(biāo)記接口的類不需要定義任何接口的方法(因?yàn)楦緵]有可以實(shí)現(xiàn)的的方法),但是該類通過多態(tài)性變成一個(gè)接口類型。

注意
在 JDK1.8,允許我們給接口添加兩種非抽象的方法實(shí)現(xiàn):

  • 默認(rèn)方法,添加 default 修飾即可;
  • 靜態(tài)方法,使用 static 修飾;示例如下:
interface Test{
    //條件是jdk1.8后
    default String get(String aa){
        System.out.println("默認(rèn)方法");
        return "";
    }   
   
    static void staticmethod(){
        System.out.println("靜態(tài)方法");
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容