Учитель zapp

Neo

  • 7
  • Недоступна
Давайте инициализируем пользователя номер один по имени Нео. Для этого реализуем интерфейс DBObject в классе User, и метод initializeIdAndName так, чтобы программа работала и выводила на экран «The user's name is Neo, id = 1».
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (91)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Дмитрий15 уровень, Краснодар
пятница, 09:41
Немного не понял конструкции получается что вернуть все значения полей что находятся в классе это одной строкой допустимо так что ли?
Денис15 уровень, Москва
30 августа, 08:21
Может кто то объяснить то? Это же расширение типов. Возвращаем объект User в переменной DBObject же. Почему не принимает то?
Александр16 уровень, Ангарск
6 августа, 01:56
Забыл про return this....
Askar16 уровень
24 апреля, 17:41
Объясните пжлста. Что значит это: %s, %d" ?
Yerzhan20 уровень
25 апреля, 06:06
это значит вывести s - строковую переменную, а d - десятичное целое, надеюсь, что не ошибаюсь.
Askar16 уровень
25 апреля, 15:53
Спасибо!
Максим23 уровень
16 апреля, 09:39
Я тоже первый раз написал так:
@Override
public DBObject initializeIdAndName(long id, String name) {
Ребята, кто объяснит на пальцах почему так не правильно?
Yerzhan20 уровень
25 апреля, 06:27
я думаю, что так DBObject - интерфейс, а в методе создаем объект типа DBObject. но создать объект интерфейса нельзя, потому создаем объект User, так и в задании написано.
fedor20 уровень, Москва
8 апреля, 14:11
вот тут предел негодования: оба варианта дают идентичный итог, но 2й не пропускается
@Override
public User initializeIdAndName(long id, String name) {
тип интерфейса может быть использован для экземпляров классов, которые реализуют интерфейс
@Override
public DBObject initializeIdAndName(long id, String name) {
Elena14 уровень, Рязань
28 июня, 05:43
Просидела с этой же ерундой... Не поняла, почему 2-й не пропускается... Если бы не увидела этот коммент, так бы и сидела, не понимая, в чём дело. Спасибо автору!
Konstantin Besednikov16 уровень, Киев
23 июля, 11:39
Ломал голову почему не пропускает, а потом увидел Ваш комментарий. 2. Метод initializeIdAndName должен возвращать корректный объект типа User, объект на котором производится вызов метода("этот" объект). только вчитался((
DenisKa23 уровень, Екатеринбург
12 марта, 12:39
Как писал пользователь rotarru: "Из непонятой теории. Главы 8-9 Философия джава. Когда реализуешь метод интерфейса в классе, можно переписать тип возвращаемого методом объекта. Тип может быть не только типом интерфейса, но и типом класса, который реализует данный интерфейс."
Алексей16 уровень
4 августа, 13:23
Ты решил мне задачу)
Владимир Павленко22 уровень, Москва
19 февраля, 17:09
задача уже такая была и опять я ступил return this; - надо запонмить!!!!!
Максим Василенко13 уровень, Киев
23 мая, 11:51
wtf return this? это где такое было уже???
Торник22 уровень, Москва
19 февраля, 15:24
VDT20 уровень, Екатеринбург
10 февраля, 12:24
Я называю такие задачи - "Подгони результат под валидатор"
public User initializeIdAndName...
И
public DBObject initializeIdAndName ...
Выдают один и тот же результат. Но валидатору виднее.
NewBuy25 уровень, Санкт-Петербург
22 февраля, 18:57
На самом деле нет. Объект тип User мы сможем присвоить переменной типа User, как и переменной типа DBObject (второе и происходит в классе Matrix). Это позволит нам, например, вызывать методы, которые есть только в классе User, и которых нет в DBObject. Но объект типа DBObject мы уже не сможем присвоить переменной типа User, по крайней мере без явного приведения. То-есть фактически ваше решение позволяет решить поставленную задачу, но мне кажется такое решение это что-то вроде антипатерна.