Méthode d'interface static

Résolu
Skymer Messages postés 477 Date d'inscription   Statut Membre Dernière intervention   -  
Skymer Messages postés 477 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   75
 
Encore toi :D, Je t'adore
0