接口表明的是一個功能的集合,定義規範,全部的方法都是抽像方法,這是一種思想是一種規則,將這個種規則稱爲接口。java
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的空參構造
接口的優點:
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。對象