1.先要区分是Java中哪个版本的接口,因为Java中不同版本接口是不一样
2.Java8之前的接口(不包含Java8),这个版本的接口只能属性和抽象方法,和Scala中的特质有完全的不用因为Scala特质除了定义属性和抽象方法之外,还可以定实现方法和抽象属性
3.Java8之后的接口(包含Java8),这个版本的接口即可以实现属性和抽象方法,也可以实现default和static修饰的方法,这两个方法在接口中是有方法体,此时Java接口和Scala中特质近乎于完全相同,有一些区别,Scala中提供实现方法无需使用defalut和static修饰,抽象方法不需要使用abstract,并且还有抽象属性
原文地址:https://www.cnblogs.com/liangyan131/p/11997687.html
时间: 2024-10-18 21:42:28