Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中允许声明静态方法这样做的好处是什么_Java_Interface_Static_Java 8_Early Binding - Fatal编程技术网

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

java中允许声明静态方法这样做的好处是什么,java,interface,static,java-8,early-binding,Java,Interface,Static,Java 8,Early Binding,在Java8中引入静态方法和默认方法有什么好处?我发现这会增加代码的复杂性和模糊性。请对此加以说明。拥有默认方法的最大优点是,即使API已经发布,您也可以为新功能开发API,而不会破坏API用户的实现 静态方法可以省去实用程序类,因为实现可以写在接口中。优点很明显:接口中的静态方法允许工厂(如Stream.of)放在它们所属的位置。以前,您需要一个StreamUtil类或类似类来保存它们。Defender方法(“默认”)是在Collections API中引入面向流的优点的绝对必要条件,并且是一

在Java8中引入静态方法和默认方法有什么好处?我发现这会增加代码的复杂性和模糊性。请对此加以说明。

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


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

优点很明显:接口中的静态方法允许工厂(如
Stream.of
)放在它们所属的位置。以前,您需要一个
StreamUtil
类或类似类来保存它们。Defender方法(“默认”)是在Collections API中引入面向流的优点的绝对必要条件,并且是一个非常有用的特性,允许API自由增长,使用方便的方法,这些方法只依赖于公共API的其他方法


您的代码不会增加复杂性或模糊性,特别是因为静态方法是不可继承的。

您能解释一下“它会增加代码的复杂性和模糊性”是什么意思吗?请参阅和