Junior — Middle
Ի՞նչ է առավելագույն քանակը մեթոդների, որոնք թույլատրվում են ֆունկցիոնալ նշանակման ինտերֆեյսում։
sobes.tech AI
Պատասխան AI-ից
Android-ում (եւ ավելի ճշգրիտ՝ Java-ում) ֆունկցիոնալ ինտերֆեյսը պետք է ունենա ճիշտ մեկ աբստրակտ մեթոդ։ Այս սահմանափակումը կապված է այն բանի հետ, որ ֆունկցիոնալ ինտերֆեյսները նախատեսված են lambda արտահայտությունների և մեթոդների հղումների հետ օգտագործելու համար։
Արդյունքում, ֆունկցիոնալ ինտերֆեյսում առավելագույնը մեկ աբստրակտ մեթոդ է։ Սակայն, ինտերֆեյսը կարող է պարունակել ցանկացած քանակությամբ նախնական (default) կամ ստատիկ մեթոդներ։
Օրինակ՝ ֆունկցիոնալ ինտերֆեյս:
@FunctionalInterface
public interface MyFunction {
void apply(); // միակ աբստրակտ մեթոդ
default void log() {
System.out.println("Logging");
}
}