Sobes.tech
Junior — Middle

Ποιος είναι ο μέγιστος αριθμός μεθόδων που επιτρέπονται σε μια διεπαφή με λειτουργική ανάθεση;

sobes.tech AI

Απάντηση από AI

Στο Android (και πιο συγκεκριμένα στη Java), μια λειτουργική διεπαφή (functional interface) πρέπει να περιέχει ακριβώς μία αφηρημένη μέθοδο. Αυτός ο περιορισμός σχετίζεται με το γεγονός ότι οι λειτουργικές διεπαφές προορίζονται για χρήση με εκφράσεις lambda και αναφορές σε μεθόδους.

Επομένως, ο μέγιστος αριθμός αφηρημένων μεθόδων σε μια λειτουργική διεπαφή είναι ένας. Ωστόσο, η διεπαφή μπορεί να περιέχει οποιονδήποτε αριθμό προεπιλεγμένων (default) ή στατικών μεθόδων.

Παράδειγμα λειτουργικής διεπαφής:

@FunctionalInterface
public interface MyFunction {
    void apply(); // μοναδική αφηρημένη μέθοδος

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