栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 8:使用静态方法而非静态util类进行接口

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 8:使用静态方法而非静态util类进行接口

接口的主要目的是提供一种类型和对该类型的操作词汇(方法)。它们之所以有用且灵活,是因为它们允许多个实现,并且实际上,它们旨在允许在类层次结构中不相关的实现。

问题问,

具有任何人都不会实现的接口是对的吗?

在我看来,这似乎削减了接口的范围。人们将不得不四处查看API,以确定没有实现该接口的类,并且没有该接口的生产者或消费者。可能有人会感到困惑并尝试创建该接口的实现,但是当然他们不会走得太远。尽管所有静态方法都可能具有“实用程序接口”,但这并不像旧的不可构造的最终类习语那样清晰。后者的优点是该类可以
强制执行 任何实例都不能创建。

如果您查看新的Java 8 API,尽管可以在接口上添加静态方法,但仍会使用最终的类惯用法。

接口上的静态方法已用于诸如工厂方法之类的事情来创建这些接口的实例,或者用于在这些接口的所有实例之间具有普遍适用性的实用程序方法。例如,请参阅中的

Stream
Collector
接口
java.util.stream
。每个人都有静态工厂:
Stream.of()
Stream.empty()
,和
Collector.of()

但也请注意,每个都有配套的实用程序类

StreamSupport
Collectors
。这些是纯实用程序类,仅包含静态方法。可以说它们可以合并到相应的接口中,但这会使接口混乱,并使类中包含的方法的关系模糊。例如,
StreamSupport
包含一系列相关的静态方法,它们都是
Spliterator
和之间的所有适配器
Stream
。将它们合并
Stream
可能会使事情变得混乱。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452956.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号