Biorąc prosty interfejs z domyślną metodę:Zastąp domyślną metodę używając lambdy
private interface A {
default void hello() {
System.out.println("A");
}
}
i sposobu, który akceptuje instancję nim:
private static void print(A a) {
a.hello();
}
mogę zastąpić to używając anonimową klasę :
print(new A() {
@Override
public void hello() {
System.out.println("OverHello");
}
});
ale gdy próbuję z lambda print(() -> System.out.println("OverHello2"));
, pojawia się błąd kompilacji.
Nie sposób znaleźć cel
Czy istnieje sposób, aby nadpisanie z lambda?
Czy możesz opublikować interfejs "A"? – RAnders00
prywatny interfejs A {default void hello() {System.out.println ("A");}} – T4l0n
Czy możesz zgłosić błąd, który masz? – user902383