Sobes.tech
Junior — Middle

Ի՞նչ է առավելագույն քանակը մեթոդների, որոնք թույլատրվում են ֆունկցիոնալ նշանակման ինտերֆեյսում։

sobes.tech AI

Պատասխան AI-ից

Android-ում (եւ ավելի ճշգրիտ՝ Java-ում) ֆունկցիոնալ ինտերֆեյսը պետք է ունենա ճիշտ մեկ աբստրակտ մեթոդ։ Այս սահմանափակումը կապված է այն բանի հետ, որ ֆունկցիոնալ ինտերֆեյսները նախատեսված են lambda արտահայտությունների և մեթոդների հղումների հետ օգտագործելու համար։

Արդյունքում, ֆունկցիոնալ ինտերֆեյսում առավելագույնը մեկ աբստրակտ մեթոդ է։ Սակայն, ինտերֆեյսը կարող է պարունակել ցանկացած քանակությամբ նախնական (default) կամ ստատիկ մեթոդներ։

Օրինակ՝ ֆունկցիոնալ ինտերֆեյս:

@FunctionalInterface
public interface MyFunction {
    void apply(); // միակ աբստրակտ մեթոդ

    default void log() {
        System.out.println("Logging");
    }
}