Всем доброго!
Задачу решил-но непонятно вот что...
В методе main написан код приведения obj к Movable, в другом случае-оставляем как есть:
Object obj = new Circle();
Movable movable = (Movable) obj;
Drawable drawable = new Rectangle();
IDE мне предложила следующее решение(вернее скорректировала мое). Оно-прошло. Но не понимаю...Итак:
if (object instanceof Drawable)
{
((Drawable) object).draw();
}
if (object instanceof Movable)
{
((Movable) object).move();
}
Не пойму- зачем в первом случае, если объект "уже является реализующим Drawable" - приводить его к Drawable !
Ну и во втором случае та же история- объект уже Movable- а мы его как бы "на всякий случай" - я так это понимаю, - приводим к Movable. Зачем?
В моем понимании приведение должно было быть так: " если объект НЕ Drawable-приводим к Drawable" и " если объект НЕ Movable-приводим к Movable"
Как так?