Méthode d'interface static

Résolu/Fermé
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - 26 sept. 2015 à 17:01
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - 26 sept. 2015 à 17:41
Bonjour, depuis java 8 il me semble que on peux coder des méthodes static en java, sachant que l'on hérite jamais de méthode static, à quoi servent-elles ? Merci de vos réponses

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
26 sept. 2015 à 17:26
Bonjour,

En effet, en Java 8 il est possible de mettre des méthodes static dans la déclaration des interfaces. Cela permet de fournir des méthodes utilitaires qui pourraient être utilisées par n'importe quel objet ayant cette implémentation.

Par exemple, on pourrait reprendre l'interface Comparable et lui ajouter une méthode static qui reprendrait le principe d'un Comparator.

public interface Comparable<T> {
    
    public int compareTo(T other);
    
    public static <E> int compare(Comparable<E> c1, E c2) {
        return c1.compareTo(c2);
    }
}

Si ce genre d'écriture avait été autorisée plus tôt, on aurait pu par exemple mettre toutes les méthodes static de la classe Collections directement dans l'interface Collection.

Remarque : une autre utilité des méthodes static dans les interfaces est de permettre au développeur d'organiser son code lorsqu'il met à disposition des méthodes par défaut dans l'interface (autre nouveauté de Java 8).
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75
26 sept. 2015 à 17:41
Encore toi :D, Je t'adore
0