public class Solution {
public static void main(String[] args) {
printObjectType(new Cat());
printObjectType(new Bird());
printObjectType(new Lamp());
printObjectType(new Cat());
printObjectType(new Dog());
}
public static void printObjectType(Object o) {
//Напишите тут ваше решение
o.toString(); // Result of 'Object.toString()' is ignored
}
public static class Cat {
public String toString(){
return "koshka";
}
}
public static class Dog {
}
public static class Bird {
}
public static class Lamp {
}
}
Aku
24 уровень
Почему метод toStrings() игнорируется?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Philip J. Backend Developer Expert
21 января 2019, 17:57
Потому, что ваш метод toString возвращает некое значение, но дальше это значение нигде не используется. Соответсвенно, IDE предполагает, что у вас есть ненужный код, и предупреждает об этом.
0
Aku
21 января 2019, 18:00
Хорошо. А как правильно его переопределить?
0
Philip J. Backend Developer Expert
21 января 2019, 18:09
Если хотите помощи, нужно выкладывать задачу полностью, вместе со всеми классами и требованиями. Врядли тут много людей с экстрасенсорными способностями, которые хотят вам помочь))
0
Aku
21 января 2019, 18:18
Сорян, задача уже решена, условие не прикрепляется. Код вроде весь прикрепил.
Решил её через instanceof.
Мне интересно решать задачи разными способами, решил попробовать через переопределение toString(), но что то как то не могу понять как.
УСЛОВИЯ:
0
Philip J. Backend Developer Expert
22 января 2019, 20:40решение
Не понял сразу сути задания, удалил прошлый комент, но ты его успел прочитать))
Теперь по сути: так как в метод printObjectType не передаётся какой-то определённый тип, узнать этот тип без всяких if-else можно только с помощью рефлексии. Выглядит это как-то так:
вставляешь этот код в метод printObjectType и он будет превращать в строку и выводить в консоль обьект любого класса, который ты туда передашь. А toString переопределён нормально, его задача - просто возвращать строку. +3
Aku
23 января 2019, 11:00
Спасибо за развернутый ответ
0