Jas*_*Hal 3 java oop functional-interface
根据功能接口的定义 -功能接口是仅包含一个抽象方法的接口。
但是Comparator<T>有两个抽象方法:
int compare(T o1, T o2);
boolean equals(Object obj);
Run Code Online (Sandbox Code Playgroud)
其他是默认和静态的。
JavaDocs 将其称为功能接口。怎么会这样?
您正在阅读错误的定义,或者至少是(过度)简化的定义。
FunctionalInterface 的正确定义是:
函数式接口是只有一个抽象方法(除了 Object 的方法)的接口,因此表示单个函数契约。这种“单一”方法可以采用多个抽象方法的形式,并具有从超接口继承的覆盖等效签名;在这种情况下,继承的方法在逻辑上代表一个方法。