Java中接口和Sala中的特质的区别?

1.先要区分是Java中哪个版本的接口,因为Java中不同版本接口是不一样
2.Java8之前的接口(不包含Java8),这个版本的接口只能属性和抽象方法,和Scala中的特质有完全的不用因为Scala特质除了定义属性和抽象方法之外,还可以定实现方法和抽象属性
3.Java8之后的接口(包含Java8),这个版本的接口即可以实现属性和抽象方法,也可以实现default和static修饰的方法,这两个方法在接口中是有方法体,此时Java接口和Scala中特质近乎于完全相同,有一些区别,Scala中提供实现方法无需使用defalut和static修饰,抽象方法不需要使用abstract,并且还有抽象属性

posted @ 2019-12-06 20:58  梁衍  阅读(479)  评论(0编辑  收藏  举报