Java 8 包含一个名为Defender 方法的新功能,它允许在接口中创建默认方法实现。
首先,对于所有 Java 精简程序员来说,这是一个巨大的范式转变。我查看了 Brian Goetz 提供的 JavaOne 13 演示文稿,他在其中讨论了 Collections 库中的新功能stream()
和parallelStream()
实现。
对于在Collection
接口中添加新方法,他们不可能只是添加一个新方法而不破坏以前的版本。所以他告诉我们,为了迎合这一点,添加了默认方法的新功能。
public interface SimpleInterface {
public void doSomeWork();
//A default method in the interface created using "default" keyword
default public void doSomeOtherWork(){
System.out.println("DoSomeOtherWork implementation in the interface");
}
}
现在我的问题基本上是默认方法在需要向接口添加新方法而不破坏客户端代码时才有用?或者它还有其他用途吗?