Пытаюсь осмыслить код этой задачи, а именно то, как интерфейс может быть параметром? Может кто-то объяснить на пальцах и ещё на нескольких примерах? class Manager implements Boss { public void use(Person person) { person.startToWork(); } нашел определение в интернете: (Person person) - это на самом деле один из самых распространенных и полезных способов использования интерфейса. Интерфейс определяет контракт, и ваш код может работать с любым классом, который реализует интерфейс, без необходимости знать конкретный класс - это может даже работать с классами, которые еще не существовали, когда код был написан. не могу понять его механику, как это определение работает с методом person.startToWork()?