String agathaChristieOutput = author + ": " + getBook().getTitle() + " is a detective";
почему мы не пишем getBook() + getTitle() ?
и почему решение программы выводится в квадратных скобках [.....] ???
Anonymous #2632922
35 уровень
что означает getBook().getTitle() ?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
31 мая 2022, 11:34
почему мы не пишем getBook() + getTitle() ?
Метод getBook() возвращает объект типа Book.
Метод geTitle() у объекта Book возвращает объект типа String, содержащий заголовок этой книги.
Это цепочка вызовов методов, когда ты вызываешь один метод, он возвращает тебе какое-то значение, а затем ты вызываешь следующий метод уже у этого полученного объекта.
Аналогия:
Здесь метод substring() вызывается не у ридера и не у метода readLine(), а у того объекта, который возвращает тебе метод readLine() (строки).
почему решение программы выводится в квадратных скобках [.....] ???
Потому что ты выводишь объект типа List. У этого типа своя реализация метода toString, заключающаяся в перечислении содержимого списка через запятую в квадратных скобках.
+1
Ada
31 мая 2022, 10:46
Потому что по условиям задачи метод getBook в классе AgathaChristieBook должен иметь тип возвращаемого значения AgathaChristieBook и возвращать текущий объект. И вашим способом получается, что в String agathaChristieOutput будет строка + объект — программа выдаст ошибку
0