Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Почему можно создавать массивы с типом


Автор: Royan 2.8.2007, 23:03
Например, возможно следующее.

Код

public class MyClass {
    public static void main(String[] args) {
        AbstractClass[] arr = new AbstractClass[5];
    }
}

abstract class AbstractClass {

}

Автор: niasilil 3.8.2007, 02:16
new AbstractClass[5] в данном случае не образует новых объектов класса AbstractClass, эта строчка только инстантиирует массив из 5 элементов. Соответственно в данный массив можно будет положить любой объект неабстрактного класса который extends AbstractClass.

сравни с 
Код

AbstractClass arr = new AbstractClass();

здесь пытаемся образовать объект абстрактного класса, естественно компилятор выдаст ошибку. 

PS ах да, массивы всегда создаются с типом. Язык так устроен. Пример 
Код

int [] i = new int[5];
Integer [] i2 = new Integer[5];

Автор: Royan 3.8.2007, 09:57
Верно... почему то я посчитал что и объекты создадутся. Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)