Почему Java не инициализирует объекты Array?

Если запустить следующий код в 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.";
    }
}

Он напечатает (нуль, ноль, ноль, ноль), и еслиarray[0] = new TestObject(); не комментируется, тогда первый объект будет иметь адрес памяти (и не будет нулевым). Меня просто смущает вопрос, почему Java не будет автоматически вызывать конструктор для каждого объекта в массиве, когда массив сначала правильно инициализируется. Каковы преимущества того, как это работает прямо сейчас? Это космическая проблема (как это было бы слишком дорого, чтобы сделать это)?

Может быть, я просто упустил из виду что-то глупое или я просто ошибаюсь. Это напрямую не связано с проблемой, с которой я сталкиваюсь, поэтому, если это неправильный форум, я прошу прощения.

Ответы на вопрос(2)

Ваш ответ на вопрос