
java接口添加默认方法、静态方法和私有方法的原因
java在后续版本中给接口增加了默认方法、静态方法和私有方法,主要出于以下原因:
默认方法:
- 平滑接口演进:在接口中添加默认方法,可以在无需修改实现类的情况下扩展接口,避免给代码扩展带来麻烦。
- lambda表达式支持:默认方法的支持使得java可以实现lambda表达式,简化了代码编写并提高了灵活性。
静态方法:
- 接口内聚性:接口中的静态方法不会被继承,只属于接口本身,有助于提高接口的内聚性。
- 工具方法:静态方法可提供通用工具方法,方便接口使用者使用,而不必在实现类中实现类似的方法。
私有方法:
立即学习“Java免费学习笔记(深入)”;
- 代码复用:私有方法允许在接口中重用代码,当多个默认方法具有相同的代码部分时,可以将这些部分提取到私有方法中,提高代码复用性和可读性。
示例代码:
public interface CRMSystem {
Client add(Client newGuy);
Event add(Event e, Client guy);
Event[] todayEvents();
// 默认方法
public default void myMethodDefault() {}
// 静态方法
public static void staticMethod() {}
// 私有方法
private void helperMethod() {}
}










