Java接口

Interface


接口是特殊的抽象類

接口更多是像一個標準,讓實現類去實現方法

接口中有靜態常量和抽象方法、默認方法(Java8之後可以有static和default方法)
  1. 靜態常量(默認修飾符public static final
  2. 抽象方法(默認修飾符public abstract
  3. 接口中除了抽象方法外還可以有static和default方法(java8之後)
  4. 接口中不能有構造方法、靜態代碼塊
抽象類裏如果只有靜態常量或抽象方法,就用接口替代,因爲接口解決了類的單繼承問題

類 - 接口 之間的關係

  1. 類-類 :單繼承
  2. 類-接口:多現實
  3. 接口-接口:多繼承
接口中的default方法
  1. 只有接口中的方法能被default修飾,表示該方法爲普通的方法
  2. 一個類實現了兩接口中都有default方法,需要重寫default方法
  3. 實現了接口和繼承了父類中都有相同的方法,則父類中的方法的訪問修飾符必須高於default,否則仍然需要重寫該方法
interface MyInterface1 {
    default void m()
     {
         System.out.println("接口中的m1");
     }
}
interface MyInterface2 {

    default void m()
    {
        System.out.println("接口1中的m1");
    }
}
abstract class MyAbClass
{
    void m1() {
        System.out.println("父類中的m1");
    }
}
class t extends MyAbClass implements MyInterface1,MyInterface2{
    public static void main(String[] args){
        new t().m1();
    }
    @Override
    public void m() {
        //Todo
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章