开放封闭原则与默认实现

P. *_*rma 5 architecture open-closed-principle default-implementation java-8 default-method

Java 8 引入了接口默认实现的概念?这是否违反了开放封闭原则,因为基于https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html上的示例,您似乎始终可以打开界面以添加新功能?

Spy*_*s K 0

软件可以使用接口中的默认方法来编写,同时遵守开闭原则,也可以使用接口中的默认方法来违反开闭原则。

开闭原则是一种设计/架构原则,由程序员在设计和编程时遵循该原则。Java 语言无法强制其使用。

由于 Java 语言不强制执行开闭原则,因此使用 JDK 1.0(Java 的第一个版本)且仅使用 JDK 1.0 集合的语言,有可能编写一组违反或遵守开闭原则的类特征。在接口中使用接口默认方法或任何 Java 的最新功能时,也有可能违反或遵守该原则。遵守开闭原则取决于所写的内容以及如何写。Java 只是一种需要用来表达概念的语言。