在java中允许声明静态方法这样做有什么好处

时间:2015-03-02 20:05:52

标签: java interface static java-8 early-binding

在java 8中引入静态方法和默认方法的优点是什么,因为我发现它会增加代码的复杂性和模糊性。请介绍一下。

2 个答案:

答案 0 :(得分:2)

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

没有为代码添加复杂性或歧义,特别是因为静态方法不可继承。

答案 1 :(得分:1)

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

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