inicialização estática na interface

Quando tentei escrever algo assim:

public interface MyInterface {
    static {
        System.out.println("Hello!");
    }
}

o compilador não pôde compilá-lo.

Mas quando eu escrevi algo assim:

interface MyInterface {
    Integer iconst = Integer.valueOf(1);
}

e descompilou, eu vi inicialização estática:

public interface MyInterface{
    public static final java.lang.Integer i;

    static {};
      Code:
      0:   iconst_1
      1:   invokestatic    #1; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      4:   putstatic       #2; //Field i:Ljava/lang/Integer;
      7:   return
}

Você poderia por favor explicar esse comportamento para mim?

questionAnswers(5)

yourAnswerToTheQuestion