@EvgenySManko

Конструктор в массиве объекта. Как реализовать?

Здравствуйте.

Есть класс с конструктором. Нужно создать массив объектов, сразу вызывая конструктор. Другими словами: можно ли вызвать конструктор каждого объекта при объявлении массива?

Пример:

class Main{
    public static void main(String[] args)throws Exception{
        int n = 5;

        Curier[] crs = new Curier[n]; //Здесь же нужно вызвать конструктор

    }
    class Curier{
        int p;
        public Curier(int p){
            this.p = p;
        }
  • Вопрос задан
  • 352 просмотра
Пригласить эксперта
Ответы на вопрос 2
Ewintory
@Ewintory
Java / Android developer
Нельзя, но что мешает выделить статичесикй метод под это дело?
class Curier{
   ....
   public static Curier[] create(int size, int initialValue) {
       Curier[] crs = new Curier[size];
       for (int i=0 ; i<size ; i++)
            crs[i]=new Curier(initialValue);
        return crs;
   }
}
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
да, нужно вызвать конструктор, конструкция
Curier[] crs = new Curier[n];

создает массив ссылок нужного типа. Грубо говоря

Curier[] crs = new Curier[2];

равносильно

Curier crs = null, 
       crs2 = null;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы