public static ArrayList< Cat > cats = new ArrayList<>();
По заданию это:
создание статической переменной cats типа ArrayList
иницилизации переменной new ArrayList<>().
С другой стороны до этого нам говорили,
что так записывается создание нового объекта (Cat cat = new Cat();)
Так как правильно?
Создание нового объекта с именем cats
или
Создание новой переменной с именем cats и ее инициализация в виде = new ArrayList<>();
Oleg Zaytsev
24 уровень
Как правильно?
Архивный
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Oleg Zaytsev
17 февраля 2019, 20:00решение
Решение: Объект-массив класса Cat с именем cats
+2
Valentin Nosachenko
17 февраля 2019, 18:16
При создании переменной и последующей ее реализацией ты убиваешь двух зайцев одним выстрелом, т.к. сразу создаешь новый объект, а при простом объявлении Object object; ты просто пишешь что такой объект есть, но что это за объект и кому он нужен не объявляешь, известен лишь его тип. При последующем его упоминании будешь получать ругательства от идеи или валидатора на сайте что не проинициализировал объект на который ссылаешься и тебе всеравно придется писать new Object();
Первый вариант допустим, но только если ты еще не придумал на основе какого объекта будешь инициализировать объявленный object. Лучше сразу инициализировать.
+1
Oleg Zaytsev
17 февраля 2019, 19:56
Вопрос больше про терминологию, не совсем понятно что такое cats массив объект или переменная. Получается что Объект-массив класса Cat с именем cats .
Поддержка молчит, ответили на 1 вопрос и всё хд Приходится создавать опросники
Спасибо за ответы.
0
hidden #598481
17 февраля 2019, 16:53
Я правильно понял, что вопрос в терминах и трактовке кода?
Если да, то правильно сказать так: объекты создаются после ключевого слова new: new Cat(), new ArrayList() и т.д. Если тебе достаточно использовать анонимный объект, можно не объявлять переменную вообще, оставить только new и имя конструктора с параметрами.
Переменные объявляются с указание класса или интерфейса, ссылку на который они могут содержать: Cat cat, List cats и т.д.
А записывая целую конструкцию (Cat cat = new Cat();) вместе, ты делаешь сразу три действия, и объявляешь переменную, и создаёшь объект, и помещаешь ссылку на объект в созданную переменную (или другими словами инициализируешь переменную ссылкой на объект).
В принципе в обывательском разговоре мне кажется допустимым, если упростить речь и сказать, что cats это объект, но второй вариант всё-таки корректнее.
+2
Oleg Zaytsev
17 февраля 2019, 19:49
Да, мне тоже второй вариант более корректный.
0