Значения, хранящиеся в массиве во время инициализации, будут равны null
, так что это фактически не создает никакого экземпляра абстрактного класса.Инициализация массива соответствует следующей (правильной) строке:
Creator creator = null;
Создание массивов типа AbstractClass[]
на самом деле весьма полезно, поскольку вы можете хранить ссылки на некоторый конкретный (унаследованный) класс в массиве.Например:
var objects = new object[2];
objects[0] = "Hello";
objects[1] = new System.Random();
Затем вы можете, например, перебрать массив objects
и вызвать ToString()
для всех объектов.