Por que os campos estáticos não são inicializados no tempo?

O código a seguir é impressonull uma vez.

class MyClass {
   private static MyClass myClass = new MyClass();
   private static final Object obj = new Object();
   public MyClass() {
      System.out.println(obj);
   }
   public static void main(String[] args) {}
}

Por que os objetos estáticos não são inicializados antes da execução do construtor?

Atualizar

Acabei de copiar este exemplo de programa sem atenção, pensei que estávamos falando sobre 2 campos de objeto, agora vi que o primeiro é um campo MyClass ..: /

questionAnswers(5)

yourAnswerToTheQuestion