JAVA接口詳細講解

接口

接口的概念

 接口表明的是一個功能的集合,定義規範,全部的方法都是抽像方法,這是一種思想是一種規則,將這個種規則稱爲接口。java

接口的定義

  • 使用關鍵字 interface 叫作接口
  • 修飾符 interface 接口名{//增長定義的功能,都是抽像的方法}
    注:接口的源文件仍然是java文件,編譯後仍爲class文件.
    代碼參照:
public interface Jiekou {
    //這裏增長功能抽像方法
    public abstract void fun();
}

接口特色

  • 接口中的方法全是抽像方法
  • 接口中使用interface表示
  • 接口,不能new(緣由:抽像方法不能運行)
  • 接口的實現,依靠類,類與接口之間的關係,實現關係,使用關鍵字implements
  • 實現格式: class lei implements Jiekou{//功能方法} 代碼以下:
public class TestDeom implements Jiekou{

    @Override
    public void fun() {
        
    }

    //重寫方法
}
  • 將接口中的全部抽象所有重寫,那麼就是一個類,能夠實例化對象
  • 沒有將接口中的全部抽象所有重號,或者是重寫了一部分,這個類將是一個抽象類,不能實例化對象。
  • 接口能夠玩多態 A a = new B A表明接品,B表明的是實現類,實現類不能是抽象類。
  • 接口能夠做爲方法的參數或者返回值

接口中的成員

  • 接口中有變量,可是不叫作變量,而是叫作常量
  • 接口中所謂的常量都是有默認的修飾的 public static final 數據類型 常量名 = 值
  • 使用成員:接口名.成員

方法:ide

  • 全部的方法都是抽象方法,接口中的全部抽象方法都有默認修飾 public abstract
  • 抽象方法的定義:修飾符 abstract 返回值類型 方法名(參數列表);
  • 構造方法:接口中沒有構造方法。類實現接口,重寫全部的抽象,類能夠實例化對象,JVM調用類的構造 方法,類中構造的第一行默認隱式super();
  • 類確實調用了super().這個super不來自於接口,來自於類的父類,類若是沒有直接繼承任何父類,那麼自動繼承Object類,Object類是全部類的父類,因此super()是調用了Object的空參構造

類與類,類與接口,接口與接口之間的關係

  • 類與類之間,繼承關係,使用關鍵字 extends 類與類只能單繼承
  • 接口與接口之間是多繼承的關係,若是兩個接口之間有重複的方法,不會存在調用衝突,由於根本不會調用父類中的抽象。

接口的優點:
1.解除了類與類之間的單繼承侷限性
2.接口中由於都是抽象,因此儘可能要求實現類必須重寫全部抽象方法,解除類與類之間的耦合性。
3.類在繼承了一個父類的同時還能夠實現多個抽象類code

public class TestDeom extends Test implements Jiekou{

    public static void main(String[] args) {
        
    }
}

4.接口與接口之間是繼承的關係,使用關鍵字extends,接口能夠多繼承,例如interface A extends B,C A接口繼承接口B和接口C。對象

相關文章
相關標籤/搜索