Java08接口

接口

  • 概念
    抽象類型,是抽象方法的集合(如果某個類實現接口,就必須實現接口中所有的方法,除非這個類是個抽象類)。一個類通過實現接口的方式,實現接口的抽象方法。
  • 關鍵字interface
  • 接口與類相似點
    一個接口可以有多個方法。
    接口文件保存在.java結尾的文件中,文件名使用接口名。
    接口的字節碼文件保存在.class結尾的文件中。
    接口相應的字節碼文件必須在與包名稱想匹配的目錄結構中。
  • 接口有類的區別
    接口不能實例化。
    接口沒有構造方法。
    接口中所有的方法必須是抽象方法。
    接口不能包含成員變量,除了static和final變量。
    接口不是被類繼承,而是被類實現。
    接口支持多繼承。
  • 接口特征
    接口中的變量默認具有public static final修飾符。
    接口中的方法默認具有public abstract修飾符。
    接口中的方法不能在接口中實現,只能有實現接口的類來實現。
  • 抽象類和接口的區別
    抽象類中的方法可以有方法體。
    抽象類的成員變量可以是各種類型的。
    接口中不能有靜態代碼塊以及靜態方法(用static修飾)
    一個類只能繼承一個類,接口可以實現多個接口
  • 類的聲明
package com.javawu.interfaceDemo;
//如果某個類實現接口,就必須實現接口中的所有方法
//接口相當于一個特殊的抽象類
public interface AlertInterface {

    //接口中的變量默認具有public static final修飾符
    String brand = "報警";
    //聲明一個報警的方法
    //接口中的方法默認具有public abstract修飾符
    void alert();
}
  • 接口的實現
package com.javawu.interfaceDemo;
//Java中類只能有一個直接父類
//Java中類是單繼承,但是可以實現多個接口
//implements要寫在extends的后面
public class HomeDoor extends Door implements AlertInterface,GPSInterface{
    
    public void run() {
        
    }
    
    @Override
    public void alert() {
        // TODO Auto-generated method stub
        System.out.println("報警");
    }
    
    @Override
    public void position() {
        // TODO Auto-generated method stub
        System.out.println("獲取位置");
    }
}
  • 接口的繼承
package com.javawu.interfaceDemo;
//接口可以繼承多個接口
public interface InterfaceDemo extends AlertInterface, GPSInterface {
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容