-
- 預設方法和靜态方法
- 對比抽象類
預設方法和靜态方法
- JDK8 以後接口可以有方法體。
- 預設方法 default :
- 可以通過實作接口的類執行個體化的對象來調用,也可以被重寫。
- 是Public的。
- 靜态方法 static :
- 隻能在本接口中調用,職責上是工具方法。
- 預設方法 default :
public interface In {
int get();
static int getStatic() {
return ;
}
default int getDefault() {
getStatic();
return ;
}
}
對比抽象類
- 這是接口向抽象類的靠近。
- 抽象類可做,接口不可做:
- 抽象類能夠定義 非static final 的屬性,而接口的屬性都是static final的。
- 抽象類能夠定義 非public 方法,而接口的方法都是public的。
- 接口可做,抽象類不可做:
- 接口可以多繼承(實作),而抽象類隻能單繼承。