当我在主方法中将接口实现为 Lambda 表达式时,它不会被视为已实现。
我知道我可以在 main 方法之外实现它,但是如果我必须在 main 方法之外实现它,我不明白为什么我应该使用 Lambda 表达式。
public class Driver implements Interface1, Interface2, Interface3 {
public static void main(String[] args) {
//Implementing Interface1
double x;
Interface1 obj = () -> 5.5;
x = obj.foo();
System.out.println(x);
//Implementing Interface2
String str;
Interface2 obj2 = (a) -> String.format("The number is %d", a);
str = obj2.foo(356);
System.out.println(str);
//Implementing Interface3
boolean tF;
Interface3 obj3 = (i, s) -> i == Integer.parseInt(s);
tF = obj3.foo(30, "30");
System.out.print(tF);
}
在这里,我在第 1 行收到一条错误消息,告诉我接口未实现。它仍然可以编译并工作,我只是不明白为什么会收到此消息。目前的输出是:
5.5
The number is 356
true
守着一只汪
相关分类