本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.概念
与静态变量一样,静态方法是属于类而不是实例。
一个静态方法只能使用静态变量和调用静态方法。通常静态方法通常用于想给其他的类使用而不需要创建实例。例如:Collections class(类集合)。
2.实例
以新版的 Comparator 接口为例,新增了 comparing 静态方法,用于构造比较器。该方法的参数为 Function 函数接口,可以接收 lambda 表达式参数,从而生成比较器。@FunctionalInterface
public interface Comparator {
/*省略其他代码*/
public static > Comparator comparing(
Function super T, ? extends U> keyExtractor)
{
Objects.requireNonNull(keyExtractor);
return (Comparator & Serializable)
(c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2));
}
/*省略其他代码*/
}
补充java 接口静态方法要点:Java 接口静态方法是接口的一部分,不能用于实现类对象。
Java 接口静态方法适合于提供实用方法,例如空检查、集合排序等。
Java 接口静态方法通过不允许实现类重写它们来帮助我们提供安全性。
我们不能为 Object 类方法定义接口静态方法,我们将得到编译器错误为“这个静态方法不能从 Object 中隐藏实例方法”。这是因为在 java 中不允许这样做,因为 Object 是所有类的基类,我们不能有一个类级静态方法和另一个具有相同签名的实例方法。
我们可以使用 java 接口静态方法来移除诸如集合之类的实用工具类,并将其所有静态方法移动到相应的接口,这样就很容易找到和使用。
以上就是java中静态方法对于工具类的使用,学会后可以让我们了解更多的工具方法,同时我们也要注意在接口中使用静态方法的要点。更多Java学习指路:js教程