Выполнил всё в соответствии с требованиями, код работает и валидацию прошел. Вот только нет понимания одного нюанса. Я помню, что создать объект(экземпляр) на основе абстрактного класса нельзя. Помню так же, что любой класс и его статические методы хранятся в памяти в единственном экземпляре. А НЕ статические поля и методы относятся уже уже к объекту (экземпляру) класса создаваемого командой new. А что же из себя представляет не статическое поле абстрактного класса, если объекта (экземпляра) класса нет и быть не может? public class Solution { public static void main(String[] args) { Person ivan = new Person("Иван"); ivan.allMoney.add(new Hryvnia(100000)); ivan.allMoney.add(new USD(10000)); ivan.allMoney.add(new Ruble(1000000)); for (Money money : ivan.getAllMoney()) { System.out.println(ivan.name + " имеет заначку в размере " + money.getAmount() + " " + money.getCurrencyName()); } } --------------------------------------------------------------------- public abstract class Money { public Money(double amount) { this.amount = amount; } private double amount; --------------------------------------------------------------------- public class USD extends Money { public USD(double amount){ super(amount); } public String getCurrencyName(){ return "USD"; } }