кое что не поняла, в условии
" Поле result класса Solution должно быть инициализировано в статическом блоке путем вызова метода reset()"
я так понимаю, инициализация есть присвоение значения.
мой код в static выглядел так
try {
reset();
} catch (Exception e) {
}
то есть я пыталась писать result=reset();
только громко не смейтесь, просто объясните.
в нагугленом перепроверила - "Понятие инициализации переменных в методах в Java
Инициализация переменной означает явное (или неявное) установление некоторого значения переменной. В языке программирования Java переменные, объявленные в методе, обязательно должны быть инициализированы перед их использованием."
в данном случае я не вижу никакой переменной и ее установленное значение
спасибо
hidden #2297125
18 уровень
Решила но не уяснила
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Павел Безумный учёный Expert
10 января 2021, 01:11решение
Под инициализацией поля result в данном случае подразумевается косвенная инициализация при помощи метода reset(). Происходит следующее:
В статическом блоке Вы просто вызываете метод reset() и обрабатываете исключение, предписываемое контрактом этого метода. Поле result пока остаётся со значением null. В процессе выполнения метода reset() создаётся один из объектов (Helicopter или Plane, в зависимости от ввода пользователя), ссылка на который и сохраняется в поле result - это и есть инициализация поля. Другими словами, инициализация поля происходит в результате вызова метода reset().
+2
hidden #2297125
10 января 2021, 17:19
вот, косвенное, Спасибо большое!!это все поясняет))
0
Wladyslaw Java Developer Master
9 января 2021, 18:50
Ну так там в методе значение полю присваивается, наверное.
+1