Создайте систему классов для описания двух видов счетов: SimpleAccount — обычный счёт, с которого можно платить, пока на нём есть деньги, и пополнять сколько угодно раз. CreditAccount — кредитный счёт, который может уходить в минус до кредитного лимита, указанного в конструкторе, но не может уходить в плюс. Оба счёта логично сделать наследниками общего класса Account. У любого счёта должно быть три операции. Никакая из трёх операций ничего не должна выводить на экран: boolean add(long amount) — пополнение счёта на amount, возвращает true, если пополнение успешно, и false, если иначе; boolean pay(long amount) — покупка со счёта на amount, возвращает true, если пукупка успешна, и false, если иначе; boolean transfer(Account account, long amount) — перевод денег со счёта, у которого был вызван метод, на счёт из параметра на сумму в размере amount, возвращает true, если пополнение успешно, и false, если иначе; long getBalance() — метод возвращает текущий баланс на счёте.