Java Language Modificateurs dans les interfaces


Exemple

Le Oracle Java Style Guide indique:

Les modificateurs ne doivent pas être écrits lorsqu'ils sont implicites.

(Voir Modifiers dans Oracle Official Code Standard pour le contexte et un lien vers le document Oracle réel.)

Ce guide de style s'applique particulièrement aux interfaces. Considérons l'extrait de code suivant:

interface I {
    public static final int VARIABLE = 0;

    public abstract void method();

    public static void staticMethod() { ... }
    public default void defaultMethod() { ... }
}

Les variables

Toutes les variables d'interface sont des constantes implicites avec des modificateurs implicites public (accessibles pour tous), static (accessibles par nom d'interface) et final (doivent être initialisées pendant la déclaration):

public static final int VARIABLE = 0;

Les méthodes

  1. Toutes les méthodes qui ne fournissent pas d'implémentation sont implicitement public et abstract .
public abstract void method();
Java SE 8
  1. Toutes les méthodes avec static modificateur static ou default doivent fournir une implémentation et sont implicitement public .
public static void staticMethod() { ... }

Une fois que toutes les modifications ci-dessus auront été appliquées, nous obtiendrons ce qui suit:

interface I {
    int VARIABLE = 0;
    
    void method();

    static void staticMethod() { ... }
    default void defaultMethod() { ... }
}