-2

我发现在 java 8 中引入静态方法和默认方法有什么好处,因为它会增加代码的复杂性和歧义。请对此有所了解。

4

2 回答 2

2

优点很明显:接口中的静态方法允许将诸如工厂之类的工厂Stream.of放置在它们所属的位置。以前你需要一个StreamUtil类或类似的东西来保存它们。Defender 方法(“默认”)是绝对必要的,以便在 Collections API 周围引入面向流的优点,并且它本身就是一个非常有用的功能,允许使用仅依赖于其他方法的便捷方法自由增长 API公共 API。

不会向您的代码添加复杂性或歧义,尤其是因为静态方法不可继承。

于 2015-03-02T20:11:59.220 回答
1

使用默认方法的最大优势是,即使 API 已经发布,您也可以为新功能开发 API,而不会破坏 API 用户的实现。

静态方法可以省去实用程序类,因为可以在接口中编写实现。

于 2015-03-02T20:11:18.923 回答