java - 为什么有人会在 java 1.8 的接口(interface)中定义静态方法?

标签 java interface java-8 static-methods

<分区>

为什么有人会在 JAVA 1.8 的接口(interface)中定义静态方法?

我需要知道静态方法可以派上用场的不同示例/用例/要求。

接口(interface)中的静态方法对开发人员有何好处?

最佳答案

接口(interface)中的静态方法有很多用例。不过,到目前为止,最常见的是工厂方法,它们可以轻松创建各自接口(interface)的实例。

考虑这些例子:

Comparator.comparing
List.of
Set.of
Stream.of, Stream.generate

如果接口(interface)中没有这些工厂方法,在不同的实现类中就会有太多的构造函数调用。

其中一些示例仅在 Java 版本 9 中添加,但该功能开启了许多可能性。

这些静态方法也用于不同的目的。现在可以在正确的位置 Collection.sort 实现类似 Collections.sort 的方法,从而避免不必要的额外类。

关于java - 为什么有人会在 java 1.8 的接口(interface)中定义静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50889760/

相关文章:

java - Facebook 支持 Java 和 C++

java - 如何实例化 .drl 文件中的对象

java - Java 实现与 UML 规范关于接口(interface)和抽象类的区别

java - 如何将条件语句与这个特定的 lambda 表达式结合起来?

java - 如何对嵌套的 foreach 循环中的值求和?

java - log4j2 没有输出文件?

java - 终止 Java 程序而不退出 Matlab?

java - 我应该将公共(public)接口(interface)放在单独的文件中吗?

java - 该方法必须覆盖或实现父类(super class)方法

java - 具有类型的可选空值