java中什麼是接口

1、什麼是接口java

接口就是一個規範,相似於硬件上面的接口,在電腦主板上的PCI插槽的規範就相似於Java接口,只要是遵循PCI接口的卡,不過是什麼牌子的均可以插入到PCI插槽中。因此接口就是一個規範。接口就是某個事物對外提供的一些功能的說明。咱們還能夠利用接口實現多態功能,同時接口也彌補了Java單一繼承的弱點,也就是類能夠實現多個接口。ide

咱們使用interface關鍵字定義接口,通常使用接口聲明方法或常量,接口中的方法只能是聲明,不能是具體的實現,這一點和抽象類是不同的。接口是更高級別的抽象。接口的定義格式是函數

public interface 接口名稱{spa

//能夠定義常量設計

//方法只有方法聲明,並且是公共的。code

public void 方法名稱();對象

...blog

}繼承

類要實現接口,只須要使用implements關鍵字,實現類必需要實現接口中的全部的方法接口

public class 實現類名 implements 接口{

//實現接口的方法

}

2、接口的應用

定義一個接口很是簡單,固然其實要設計一個好的接口並非很簡單,你必需要想好這個接口有什麼常量和方法。可是技術卻很是簡單,示例代碼以下:

// 定義方法的接口
public interface Myinterface {
  // 定義程序使用的常量的接口,接口中只能有常量。
  public static final double price = 1450.00;
  public static final int counter = 5;
  //接口中全部的方法都沒有方法體。
  public void add(int x, int y);
  public void volume(int x,int y, int z);
}

 

實現接口也沒有什麼難度,代碼以下:

                           //實現     接口
public class MyImple implements Myinterface {
    @Override
        public void add(int x, int y) {
    }
    @Override
        public void volume(int x, int y, int z) {
    }
}

 

一個類是能夠實現多個接口,由於java是單繼承的,這點接口能夠彌補。咱們能夠再定義一個接口

public interface MyInterface2 {
     public void countpp();
}

 

修改上面的實現類,要實現多個接口,可使用逗號隔開,固然全部的接口的方法都要實現。

                           //實現       接口1,接口2
public class MyImple implements Myinterface ,MyInterface2{
    @Override
    public void add(int x, int y) {
    }
    @Override
    public void volume(int x, int y, int z) {
    }
    @Override
    public void countpp() {
    }
}

 

3、接口和抽象類有什麼區別

abstract class和interface是Java語言中對於抽象類定義進行支持的兩種機制,abstract class和interface之間在對於抽象類定義的支持方面具備很大的類似性,甚至能夠相互替換,所以不少開發者在進行抽象類定義時對於abstract class和interface的選擇顯得比較隨意。其實,二者之間仍是有很大的區別的

一、抽象類裏面能夠有非抽象方法。但接口裏只能有抽象方法,接口體現的是一種規範,抽象類體現的是模板式設計。

二、接口(interface)是抽像類的變體。在接口中,全部方法都是抽像的。多繼承性可經過實現這樣的接口而得到。接口中的全部方法都是抽像的,沒有一個有程序體。接口只能夠定義static final成員變量。接口的實現與子類類似,除了該實現類不能從接口定義中繼承行爲。當類實現特殊接口時,它定義(即將程序體給予)全部這種接口的方法。而後,它能夠在實現了該接口的類的任何對像上調用接口的方法。因爲有抽像類,它容許使用接口名做爲引用變量的類型。一般的動態聯編將生效。引用能夠轉換到接口類型或從接口類型轉換,instanceof 運算符能夠用來決定某對象的類是否實現了接口

三、接口裏不能夠定義靜態方法,抽象類裏能夠。接口裏的變量所有爲靜態常量,抽象類裏能夠有普通變量。

4.接口裏不能夠有構造函數和初始化塊,抽象類裏能夠有。

5.一個類能夠實現多個接口,但只能繼承一個抽象類。

相關文章
相關標籤/搜索