java8 default method 的使用见解
oracle 在 jdk8 中引入了接口的默认方法,用 default
关键字标识。
public inteface Listener {
default void start() {
...
}
}
该原语特性能将接口的 default
方法以 public
可见范围赋予所有实现类,同时允许重写。
由于默认方法是定义在接口上的方法,只能使用接收参数和接口方法,并且是 public 可见范围,导致了使用的局限性。
在实际开发中的常见场景为,一个功能的主流程固定,并且需由数个方法组成,而方法根据场景可能会有多种实现 (可以对照 Map
接口理解)。