JavaRush/Курсы/Java Core/Задачи на полиморфизм

Задачи на полиморфизм

Открыта

— Привет, Амиго! Вот тебе пара сотен задач на полиморфизм.

— Что? Еще и сотня задач?!

— Шучу. Всего десять. То есть пять я хотел сказать.

3
Задача
Java Core,  2 уровень,  2 лекция
Недоступна
Я не корова, Я - кит
Я не корова, Я - кит
3
Задача
Java Core,  2 уровень,  2 лекция
Недоступна
Ничего не выводится на экран
Ничего не выводится на экран
3
Задача
Java Core,  2 уровень,  2 лекция
Недоступна
Кот от кота, а собака — от собаки
Кот от кота, а собака — от собаки
3
Задача
Java Core,  2 уровень,  2 лекция
Недоступна
Или «Кошка», или «Собака», или «Птица», или «Лампа»
Или «Кошка», или «Собака», или «Птица», или «Лампа»
3
Задача
Java Core,  2 уровень,  2 лекция
Недоступна
Определимся с животным
Определимся с животным
Комментарии (264)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Grigoryvvv
Уровень 28
Expert
9 августа, 08:08
09.08.2026 / 22 уровень
Закирка Джава МОНСТРШколяр в Школа
19 октября 2025, 09:04
в чем смысл 1 и 2 уровня если тут просто то же самое что и в java syntax??? сейчас на 22 уровне, надеюсь дальше будет хоть какой то новый материал
Rei
Уровень 32
22 февраля, 17:51
нет смысла, джавараш просто делает деньги, не заботясь о качестве материалов и времени пользователей
Юлия
Уровень 3
30 сентября 2025, 12:08
Вы бы знали, куда я хочу засунуть создателям задачи эти точки и как глубоко..
Anonymous #3585174
Уровень 33
30 июля 2025, 16:05
Like
19 мая 2025, 09:36
Собрал из всех комментариев за последние 5 лет: ctrl+Y - удалить строку. shift+F6 - переименовать класс/метод/переменную в проекте. ctrl+Z - отмотать действие ctrl+shift+Z - вернуть отмотанное ctrl+X - вырезать строку alt+Insert - создаешь конструктор/геттеры/сеттеры/переопределяешь equls() and hashCode() ctrl+D - копирование строки в IntelliJ IDEA ctrl + W - веделение символа / строки / ряда. trl + shift + W - отмотать выделение шаг назад. ctrl + ? - закомментирование строки с переносом курсора на следующую строку (откат делается таким же образом) Ctrl + Alt + L - Подгоняет все пробелы и фигурные скобки под правильный, более читаемый Ctrl + O - Горячая клавиша в IntelliJ IDEA для переопределения
VadChet
Уровень 29
24 мая 2025, 14:54
блин, не знал, что "ctrl+shift+Z - вернуть отмотанное", поэтому переопределил ctrl+Y отказавшись от возможности удалять строки. Теперь у меня два способа вернуть отмотанное.
25 мая 2025, 07:51
Это был наш 2025, мы возвращали код как могли
Alina GabidulinaРаботает в M2
11 августа 2025, 15:39
мне было лень собирать подобные хоткеи, спасибо вам
Dalendris l
Уровень 27
23 марта 2025, 16:37
return o instanceof Cow ? "Корова" : o instanceof Dog ? "Собака" : o instanceof Whale ? "Кит" : "Неизвестное животное";
Ratmir Mussabayev
Уровень 25
12 сентября 2024, 20:22
Объясните пожалуйста ситуацию с последней задачкой: я вот написал тремя разными способами(работает и так и так, но в чем разница? только лишь в количестве букв?): public static String getObjectType(Object o) { if (o.getClass().equals(Cow.class)) { return "Корова"; } else if (o instanceof Dog) { return "Собака"; } else if (o.getClass().isAssignableFrom(Whale.class)) { return "Кит"; } else { return "Неизвестное животное"; } }
MegaDog666
Уровень 30
18 сентября 2024, 06:46
В чем разница применения if (obj instanceof Student) и if (getClass () == obj.getClass ())? Давайте разберемся, что делает каждый подход: instanceof проверяет, является ли ссылка на объект с левой стороны экземпляром типа с правой стороны или некоторым его подтипом. getClass() == ... проверяет идентичность типов. То есть, если getClass() проверяет полную идентичность класса, то instanceof вернет true даже если объект будет всего лишь подтипом, что может дать нам большую гибкость при активном использовании полиморфизма. Собственно, оба подхода хороши, если понимать особенности их работы и применять в нужных местах Есть ещё одно важное отличие. Посмотрите на этот код, он не компилируется:
// Doesn't compile. Cannot class at runtime with instanceof
if (b instanceof obj.getClass()) {

}
Для instanceof тип класса, на принадлежность которому мы проверяем, должен быть известен на этапе компиляции. Но мы можем сделать это с помощью Class.isAssignableFrom:
if (obj.getClass().isAssignableFrom(b.getClass())) {
    System.out.println("obj.getClass() isAssignableFrom b.getClass()");
}
С помощью Class.isAssignableFrom мы можем проверить принадлежность типу или его потомку даже в том случае, когда тип, на принадлежность которому мы проверяем, на этапе компиляции неизвестен.
Илья
Уровень 51
4 октября 2024, 11:02
o instanceof Cow сделай в if
FolFix
Уровень 38
18 августа 2024, 16:52
Пора кушать материю
SashaCurry
Уровень 30
14 августа 2024, 04:36
-сколько задач? -
vlby
Уровень 34
14 августа 2024, 02:05
не считая самых первых уровней java syntax, пожалуй 1-й уровень все задачи которого получилось решить сразу, не читая лекций)( как-то пока не впечатляет java core( надеюсь пока) лекции все ж проработаю еще конечно)