1.先要區分是Java中哪個版本的介面,因為Java中不同版本介面是不一樣2.Java8之前的介面(不包含Java8),這個版本的介面只能屬性和抽象方法,和Scala中的特質有完全的不用因為Scala特質除了定義屬性和抽象方法之外,還可以定實現方法和抽象屬性3.Java8之後的介面(包含Java8) ...
1.先要區分是Java中哪個版本的介面,因為Java中不同版本介面是不一樣
2.Java8之前的介面(不包含Java8),這個版本的介面只能屬性和抽象方法,和Scala中的特質有完全的不用因為Scala特質除了定義屬性和抽象方法之外,還可以定實現方法和抽象屬性
3.Java8之後的介面(包含Java8),這個版本的介面即可以實現屬性和抽象方法,也可以實現default和static修飾的方法,這兩個方法在介面中是有方法體,此時Java介面和Scala中特質近乎於完全相同,有一些區別,Scala中提供實現方法無需使用defalut和static修飾,抽象方法不需要使用abstract,並且還有抽象屬性