Java8之前对于接口只能拥有方法声明和常量的设计,保证了只能存在声明多继承,避免了实现多继承情况的出现.
2.成员命名冲突 与实现多继承类似,多继承时,一个类会拥有从多个父类继承的多个同名成员变量,同样存在着歧义性的问题需要解决...Java向来是以兼容性著称的,兼容性的优先级很高.
为了兼容性,Java没有像C#一样对于泛型特性进行了深度改造,而是选择用擦除式泛型实现泛型特性....五、默认方法(default method)
Java8为了兼顾兼容性和接口的增加方法,被迫加入了默认方法(default method)的特性,允许接口定义默认方法的方法实现....六、接口与抽象类(abstract class)的区别
截止到Java8为止,接口与抽象类仍然有不少区别.
(1)抽象类有构造函数,接口没有.
(2)抽象类的方法可以定义为任何权限的,接口方法权限只能为...从这一点来看,Java为了避免多继承机制而选择的设计思路是否可能本身就是不现实的?
假如未来某些接口需要增加的方法需要状态的支撑,是否要么只能放弃,要么就进一步妥协,为接口增加状态?