То, что вы делаете в конструкторе, прекрасно. Другой вариант - просто инициализировать productList
при объявлении, например
static Product[] productList = new Product[99];
Однако ....
Вы не хотите, чтобы productList
был статичным. Как сейчас, каждый экземпляр Catalogue
НЕ имеет productList
; у класса в целом есть один productList
, который он разделяет между всеми экземплярами (что означает static
). Имеет смысл для каждого каталога иметь свой собственный список товаров, верно? Поэтому измените вашу декларацию на
private Product[] productList;
Таким образом, каждый экземпляр Каталога будет иметь свой собственный список продуктов.