Пиво

  • 3
Много программирования не бывает… А вот у ситуации «много пива» бывают последствия «пора домой» или «спать на полу». В задачке вы получите два интерфейса, и один из них нужно будет реализовать в классе BeerLover, и, вместе с тем — разобраться со связью переменной READY_TO_GO_HOME и метода isReadyToGoHome.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (90)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Kuksh
Уровень 14
19 мая, 08:22
А обязательно убирать везде public, чтобы казалось, что они не нужны значит - выполнить полностью правильно логику программы и при компиляции узнать, что везде надо добавить publc 9 раз! 😅
Денис
Уровень 18, Архангельск, Россия
2 мая, 08:06
"Подумать, какой из двух интерфейсов нужно реализовать в классе BeerLover" "Требования: Класс BeerLover должен реализовывать(implements) интерфейс Alcoholic."🙃
Максим
Уровень 25, Санкт-Петербург, Россия
26 апреля, 11:50
Ну вот в лекциях говорили, что в интерфейсах можно объявлять только статические переменные, и на тебе boolean READY_TO_GO_HOME = false. Предположил, что поле по умолчанию статическое. Написал: return Alcoholic.READY_TO_GO_HOME; Валидатор принял. Вот только посте этого я попробовал написать return READY_TO_GO_HOME; и все тоже работает. Правильно я понимаю, что при имплементировании интерфейса, в класс наследник эта переменная дублируется, после чего существует две одинаковые статические переменные? Если это так, то какой в этом смысл?
Zav_O
Уровень 19, Москва, Россия
24 марта, 14:18
Что я только что решил?( Вообще ничего не понял
Aleksandr Meretskiy
Уровень 17, Москва, Россия
5 марта, 14:49
Жизненно =(
Mr Notorious
Уровень 17, Санкт-Петербург
7 февраля, 23:49
А правильно ли я понимаю что boolean READY_TO_GO_HOME = false - это public static final переменная?
Елена
Уровень 14, Санкт-Петербург
10 февраля, 09:19
правильно - переменные, объявленные в интерфейсе, неявно всегда являются полями с модификаторами public, static и final, то есть являются константами.
Zav_O
Уровень 19, Москва, Россия
24 марта, 14:19
Теперь понятнее
Даниил Александрович
Уровень 35, Тамбов , Россия
18 января, 20:16
решил через @Override открываю "Правильное решение" А чё так можно было... ?
16 февраля, 17:24
Даниил, добрый вечер! а не подскажите, как Вы решили через переопределения? класс-то вроде один, а в интерфейсах методы абстрактные.
Даниил Александрович
Уровень 35, Тамбов , Россия
17 февраля, 14:55
могу предположить что это глюк вали, хотя...
Михаил
Уровень 13, Санкт-Петербург, Россия
10 июня, 07:48
Кроме того, начиная с Java 1.6 вы можете воспользоваться Override с теми же целями, чтобы отметить, когда метод реализует интерфейс.
Ilyas Badavi
Уровень 15, Казань
9 января, 16:40
опять забыл public'и...
16 февраля, 17:26
аналогично) Правильно я понимаю, что public в методах интерфейсов не нужен, так как методы абстрактные?
Angelina Ageeva
Уровень 23, Симферополь, Россия
2 января, 22:13
Возник такой вопрос: почему Alcoholic EXTENDS Drinker? Почему не implements? UPD: Разобралась. По сути, implements значит реализует, а интерфейс-наследник ничего не реализует. Он именно расширяет (extends) функционал родительского интерфейса. А реализовать (implements) будут уже классы-наследники.
🦔 Виктор веду Java Android канал в telegram @LetsCodeIt Expert
27 декабря 2020, 02:36
1. Любителю пива имплементируем алкоголизм и реализовываем внутри класса все методы. 2. Так как интерфейс алкоголика наследуется от интерфейса пьющего, то нужно реализовать в классе любителя пива все методы этих двух интерфейсов. 3. Очень удобно в IDEA по Ctrl + I реализовать все необходимые методы внутри класса. 4. Не забываем в методе готовности идти домой вернуть значение соответствующей константы (у интерфейсов могут быть поля, и они априори являются публичными, статичными, финальными!). 5. Всё получится! 🍺🍻