Задачу я сделал и переопределении методов почитал, но там в примерах при переопределении сам метод всегда вызывался, а в этой задаче никакого явного вызова нет и как я понял в данном примере toString возвращает значение не printList, а в ячейку массива?
Cat cat = new Cat(name,age,weight,tailLength);
Solution.CATS.add(cat);
}
printList();
}
public static void printList() {
for (int i = 0; i < Solution.CATS.size(); i++) {
System.out.println(Solution.CATS.get(i));
}
}
public static class Cat {
private String name;
private int age;
private int weight;
private int tailLength;
Cat(String name, int age, int weight, int tailLength) {
this.name = name;
this.age = age;
this.weight = weight;
this.tailLength = tailLength;
}
@Override
public String toString() {
return "Cat's name: " + name + ", age: " + age + ", weight: " + weight + ", tail: " + tailLength;
}
}
}
Bogdan
9 уровень
подскажите, по toString
Архивный
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Wladyslaw Java Developer Master
27 июня 2020, 22:18
Это то - что в итоге вызывается
А в принтсриме - коим и является System.out по дефолту
0
ГоффMaster
27 июня 2020, 21:57
/* Комментарий удален */
0
Alexey Polyakov
27 июня 2020, 21:47
Чет я так и не понял вопроса..
printList(); - пробегает по всем элементам листа CATS.
System.out.println(Solution.CATS.get(i)); - то и есть вызов toString().
0