java SE8 允许在接口中增加静态方法。 理论上讲,没有任何理由认为这个是不合法的
。只是这有违于将接口作为抽象规范的初衷。
通常的做法都是将静态方法放在伴随类中。 标注库中 你将会看到成对的接口和实用工具类,
如Collection/Conllections 或Path/Paths
可以为Path接口增加以下方法:
1. 接口中增加静态方法:
public interface Path{
public static Path get (String first, String ... more){
returm FileSystems .getDefault().getPath(first,more);
}
}
不在需要为实用工具方法另外提供一个伴随类。
默认方法
public interface Comparable<T>{
default int compareTo(T other){
//
}
}