Когда я реализую интерфейсы как лямбда-выражение в моем методе main, он не считается, как если бы он был реализован.
Я знаю, что могу реализовать его вне метода main, но я неПосмотрите, почему я должен использовать лямбда-выражения, если мне все равно нужно реализовать его вне основного.
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