Java Language Accediendo a métodos predeterminados sobrescritos desde la implementación de la clase


Ejemplo

En las clases, super.foo() buscará solo en superclases. Si desea llamar a una implementación predeterminada desde una superinterfaz, necesita calificar a super con el nombre de la interfaz: Fooable.super.foo() .

public interface Fooable {
    default int foo() {return 3;}
}

public class A extends Object implements Fooable {
    @Override
    public int foo() {
        //return super.foo() + 1; //error: no method foo() in java.lang.Object
        return Fooable.super.foo() + 1; //okay, returns 4
    }
}