@devpy14

Как работает следующий фрагмент кода?

Каким образом работает фрагмент кода в фигурных скобках?

public class CarService {

    // car storage
    List<Car> cars = new ArrayList<>();

    // cars in our dealership
    {
        cars.add(new Car(Mark.BMW, Model.I4, 2021, 3_000_000L));
        cars.add(new Car(Mark.TOYOTA, Model.CAMRY, 2011, 10_000_000L));
        cars.add(new Car( Mark.AUDI, Model.A5, 2007, 5_000_000L));
        cars.add(new Car(Mark.AUDI, Model.A5, 2007, 5_000_000L));
        cars.add(new Car( Mark.AUDI, Model.A5, 2007, 5_000_000L));
        cars.add(new Car( Mark.FORD, Model.MUSTANG, 1994, 7_000_000L));
    }


Далее в этом классе определены методы работы с листом 'cars', метод main находится в другом классе. Правильно ли я понимаю, что машины добавляются в коллекцию при создании экземпляра этого класса? То есть это что-то типа конструктора?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Это называется "блок инициализации".
Ответ написан
Комментировать
@Saintka
Смотри, ты создал List машин, далее ты обращаешься к этому List через cars, add обозначает, что ты добавляешь в коллекцию свои значения, после первой скобки ты создаешь экземпляр класса Car и вызываешь конструктор и инициализируешь значениями
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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