jdk1.8接口新特性

接口定義

1、接口是用interface聲明的,用來約束類的方法;
2、接口沒有構造函數,無法直接通過new創建,只可以被實現;
3、接口可以被多實現;
4、接口之間可以多繼承;
5、接口裏的變量都是默認 public static final修飾的

1.8以前

  • 接口中的方法都是默認public abstract修飾的,不可用其他修飾符
  • 接口中所有方法都不可實現
public interface StandardInterface {
    int value=1;
    void test();
}

1.8以後

  • 接口中的抽象方法都是默認public abstract修飾的
  • 接口中可以存在非抽象方法,包括靜態方法和非靜態方法
  • 靜態方法默認是public修飾的,不可用其他修飾符
  • 非靜態方法必須用default修飾,代表接口中的默認實現
public interface StandardInterface {
    int value = 1;
    void test();
    default void testDefault() {
    }
    static void testStatic() {
    }
}

與抽象類的區別

抽象類是用abstract來聲明的;抽象類只可以被單繼承;抽象類的屬性和方法修飾符不被限制;抽象類可以
存在靜態代碼塊,接口不行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章