6-1接口
- 允许接口中定义静态方法
- 允许接口的方法定义默认实现,用default标记
- 解决接口扩展问题
- 定义接口方法时提供空实现,在实现多方法的接口时,只需实现自己关注的方法,可以不实现有默认实现的方法
为什么不将 Comparable 直接设计成抽象类
因java不支持多继承,而接口可以实现多个。
解决默认方法冲突
- 超类优先
- 接口冲突,指定实现
interface intf1{
default String getName(){
return "PersonName";
}
}
interface intf2{
default String getName(){
return "Named";
}
}
class c1 implements intf1,intf2{
@Override
public String getName() {
return intf1.super.getName();//指定intf1的默认实现
}
}```