Я изучаю объектно-ориентированное программирование через Java и пишу программу-холодильник для практики.Внутри моей программы есть класс Item с двумя производными классами PerishableItem и LeftoverItem.Я создал ArrayList, инициализированный для элемента, и добавил в ArrayList PerishableItem и LeftoverItem.Проблема заключается в том, что я не могу вызывать методы внутри производных классов, которых нет в классе Item.
ArrayList<Item> itms = new ArrayList<Item>();
itms.add(new Item("apple", 0.45, new Date(1, 1, 2001)));
itms.add(new LeftoverItem("rice", 9.99, new Date(1, 1, 2001), 3));
itms.add(new PerishableItem("yogurt", 4.48, new Date(1, 1, 2001), 5));
System.out.println(itms.get(2).getDaysToExpire()); // error here
getDaysToExpire () - это метод внутри класса PerishableItem, а не в классе Item.Кажется, что компилятор даже не видит метод вообще.Спасибо!