¿Por qué Java no inicializa los objetos de matriz?

Si uno ejecuta el siguiente código en java:

public class Testing {

    public static void main(String[] args) {
        TestObject[] array = new TestObject[4];
        //array[0] = new TestObject();
        System.out.println(Arrays.asList(array));
    }
}

class TestObject {
    String aString;

    public TestObject() {
        aString = "This has been initialized.";
    }
}

Se imprimirá (nulo, nulo, nulo, nulo), y siarray[0] = new TestObject(); no está comentado, entonces el primer objeto tendrá una dirección de memoria (y no será nulo). Estoy confundido en cuanto a por qué Java no llamaría automáticamente al constructor para cada Objeto en una matriz cuando la matriz se inicializa primero correctamente. ¿Cuáles son las ventajas de la forma en que funciona en este momento? ¿Es un problema de espacio (ya que sería demasiado costoso hacerlo)?

Tal vez solo he pasado por alto algo tonto o simplemente estoy equivocado. Esto no está directamente relacionado con el problema que tengo, por lo que si es el foro incorrecto, me disculpo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta