sdg*_*sdh 2 java functional-interface
我想了解有关Java 8 FunctionalInterface注释的更多信息.我编写了以下代码作为实验,但它没有编译:
@FunctionalInterface
public interface HasToString {
String toString();
}
Run Code Online (Sandbox Code Playgroud)
找不到目标方法
有趣的是,这确实编译:
@FunctionalInterface
public interface HasToString {
String notToString();
}
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
功能接口是一个只有一个抽象方法(除了Object的方法)的接口,因此代表一个函数契约.这种"单一"方法可以采用多个抽象方法的形式,从超级接口继承的覆盖等效签名; 在这种情况下,继承的方法在逻辑上代表一个方法.
作为toString" 类Object " 的" 公共实例方法 ",您的接口不符合功能接口的条件.