java 核心技术-12版 卷Ⅰ- 6.1.4 静态和私有方法
原文
6.1.4 静态和私有方法
在 Java 8 中,允许在接口中增加静态方法。理论上讲,没有任何理由认为这是不合法的。只是这似乎有违于将接口作为抽象规范的初衷。
目前为止,通常的做法都是将静态方法放在伴随类中。在标准库中,你会看到成对出现的接口和实用工具类,如Collection/Collections 或 Path/Paths。
?可以由一个URI或者字符申序列构造一个文件或目录的路径,如 Paths.get("jdk-17","conf" ,"security")。在 Java 11 中,Path 接口提供了等价的方法:
?
public interface Path{
public static Path of(URI uri){...}
public static Path of((String first, String... more){...}
}
?这样一来,Paths 类就不再是必要的了。
?类似地,实现你自己的接口时,没有理由再为实用工具方法另外提供一个伴随类。
?在Java 9中,接口中的方法可以是 private 方法。private方法可以是静态方法或实例方法。由于私有方法只能在接口本身的方法中使用,所以它们的用途很有限,只是作为接口中其他方法的辅助方法。