Подскажите, пожалуйста, где в задаче происходит вызов функции toString()
public String toString() {
if (parentM == null & parentF == null)
return "The cat's name is " + name + ", no mother, no father ";
else if (parentM == null)
return "The cat's name is " + name + ", no mother, father is " + parentF.name;
else if (parentF == null)
return "The cat's name is " + name + ", mother is " + parentM.name + ", no father ";
else
return "The cat's name is " + name + ", mother is " + parentM.name + ", father is " + parentF.name;
}
Александр Жарков
20 уровень
не понимаю где вызывается эта часть кода
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
6 июня 2020, 12:58
метод println() принимает на вход объект.
И потом этот метод вызывает на объекте метод toString()/
Как например если напишешь sum(2, 2); то получишь вывод 4.
А сама арифметическая операция будет внутри метода sum
0
Александр Жарков
6 июня 2020, 13:05
Я правильно понимаю, что у всех классов есть стандартный метод toString(), который вызывается по умолчанию в print и println, и мы его по сути просто переопределили?
+1
Justinian Judge в Mega City One Master
6 июня 2020, 15:04решение
да, любой объект наследуется от Object. Этот родительский класс имеет ряд стандартных методов hashcode, equals, toString, getClass и тд.
По умолчанию, этот метод выдает:
Cat@90AB02
но можно переопределить чтобы выдавало как нам удобно и по-человечески отображало
+3
Дмитрий
6 июня 2020, 15:12решение
И когда ты хочешь что-то вывести в консоль любимой командой System.out.println(объект) у объекта неявно вызывается метод toString(). А в Джаве - почти все объекты, кроме примитивов int,long,boolean,short,byte,double,float,char(вроде ничего не забыл).
+2