Qual é o objetivo da palavra-chave padrão em Java?

Uma interface em Java é semelhante a uma classe, mas o corpo de uma interface pode incluirapenas métodos abstratos efinal campos (constantes).

Recentemente, vi uma pergunta que se parece com isso

interface AnInterface {
    public default void myMethod() {
        System.out.println("D");
    }
}

De acordo com a definição da interface,apenas métodos abstratos são autorizadas. Por que ele permite que eu compile o código acima? O que édefault palavra-chave?

Por outro lado, quando eu estava tentando escrever o código abaixo, ele dizmodifier default not allowed here

default class MyClass{

}

ao invés de

class MyClass {

}

Alguém pode me dizer o objetivo dodefault palavra-chave? É permitido apenas dentro de uma interface? Como isso diferedefault (sem modificador de acesso)?

questionAnswers(7)

yourAnswerToTheQuestion