Java Language Accéder à d'autres méthodes d'interface avec la méthode par défaut


Exemple

Vous pouvez également accéder à d'autres méthodes d'interface à partir de votre méthode par défaut.

public interface Summable {
    int getA();

    int getB();

    default int calculateSum() {
        return getA() + getB();
    }
}

public class Sum implements Summable {
    @Override
    public int getA() {
        return 1;
    }

    @Override
    public int getB() {
        return 2;
    }
}

La déclaration suivante imprimera 3 :

System.out.println(new Sum().calculateSum());

Les méthodes par défaut peuvent également être utilisées avec les méthodes statiques d’interface:

public interface Summable {
    static int getA() {
        return 1;
    }

    static int getB() {
        return 2;
    }

    default int calculateSum() {
        return getA() + getB();
    }
}

public class Sum implements Summable {}

La déclaration suivante imprimera également 3:

System.out.println(new Sum().calculateSum());