Interface的新特性
接口通常以interface來聲明,在JAVA編程語言中是一個抽象類型,是抽象方法的集合。
java8之前
- 接口中每一個方法也是隱式抽象的,接口中的方法會被隱式的指定爲 public abstract(只能是 public abstract,其他修飾符都會報錯)。
- 接口中可以含有變量,但是接口中的變量會被隱式的指定爲 public static final 變量(並且只能是 public,用 private 修飾會報編譯錯誤)。
- 接口中的方法是不能在接口中實現的,只能由實現接口的類來實現接口中的方法。
public interface TestInterface {
void getId();
}
java8之後
- Java 8允許我們給接口添加一個非抽象的方法實現,只需要使用 default關鍵字即可,這個特徵又叫做擴展方法。
public interface TestInterface {
default void getId(){};
}