Java接口中的默认方法(Default Methods)是Java 8引入的一个新特性,它允许在接口中定义具有默认实现的方法。默认方法的作用主要包括:
接口的扩展性:
允许在不破坏现有实现类的情况下向接口添加新方法。
代码复用性:
代码的可读性和可维护性:
提供常用实现,避免重复代码,提高代码质量。
向后兼容性:
在接口升级时添加新方法,不影响已有实现类。
默认方法的定义使用`default`关键字,格式如下:
public interface MyInterface {
default void myDefaultMethod() {
// 方法体
}
}
在实现类中,可以选择重写默认方法,也可以直接使用接口中定义的默认实现。如果实现类不需要修改默认方法的行为,可以简单地继承默认实现。如果需要提供不同的实现,可以在实现类中重写方法,此时可以省略`public`关键字,但`default`关键字不能省略。
需要注意的是,默认方法不能是抽象的,因为它们提供了具体的实现。此外,在实现接口时,可以选择是否重写默认方法,但必须遵循接口中定义的访问修饰符(如`public`)