inicialización estática en la interfaz

Cuando intenté escribir algo como esto:

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

El compilador no pudo compilarlo.

Pero cuando escribí algo como esto:

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

y lo descomprimí, vi inicialización 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
}

¿Podría por favor explicarme este comportamiento?

Respuestas a la pregunta(5)

Su respuesta a la pregunta