Junior — Middle
Hogyan határozható meg az egyetlen absztrakt metódus egy olyan interfészben, amely megfelel egy funkcionális interfésznek Java-ban?
sobes.tech MI
Válasz az MI-től
Java-ban a funkcionális interfész olyan interfész, amely pontosan egy absztrakt metódust tartalmaz (SAM — Single Abstract Method). Az ilyen metódus meghatározásához biztosítani kell, hogy az interfészben csak egy metódus legyen implementáció nélkül.
Példa:
@FunctionalInterface
public interface MyFunctionalInterface {
void execute(); // egyetlen absztrakt metódus
// Alapértelmezett implementációval rendelkező metódusokat lehet hozzáadni
default void log() {
System.out.println("Logging...");
}
}
A @FunctionalInterface annotáció nem kötelező, de ajánlott, mivel a fordító ellenőrzi, hogy az interfész valóban funkcionális-e.
Így az egyetlen absztrakt metódus a test nélküli metódus, amely meghatározza az interfész szerződését, és minden más metódus vagy hiányzik, vagy alapértelmezett implementációval vagy statikus.