Помогите разобраться! Задачу я решила, но не могу понять почему мы обращаемся к переменной, которая объявляется только в следующем методе
Tatiana A.
18 уровень
Обращение к ещё не созданной переменной?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
29 декабря 2021, 09:35
Прикрепи код, который вызывает вопрос.
Там у тебя либо статическая переменная, либо наоборот локальная в каждом методе, без кода непонятно.
Доступа к задаче нет.
+1
Tatiana A.
29 декабря 2021, 19:42
0
Tatiana A.
29 декабря 2021, 19:43
В методе main обращаемся к переменной count,хотя она объявляется ниже. Как такое возможно? Или это не важно?
0
ГоффMaster
29 декабря 2021, 21:44
Она объявляется не в методе, а в классе. Это статическая переменная, она принадлежит классу.
Приблизительно так: во время первого new Cat() (первое обращение к классу) и создаётся эта статическая переменная.
Порядок здесь не важен, выполнение программы не всегда линейное.
+2
ГоффMaster
29 декабря 2021, 21:49
Ну, вернее, переменная создаётся даже и без new Cat(), я упрощённо объяснил.
0
hidden #598481
30 декабря 2021, 06:53
Статические переменные создаются в момент загрузки класса.
Сам класс Cat тоже ниже написан, но тебя же не смущает, что мы в мейне обращаемся к классу Cat, который написан ниже?
При запуске сначала загружаются классы со всеми своими статическими переменными, а потом уже начинается исполнение кода.
Положение выше-ниже имеет значение только в рамках одного блока кода, например одного метода. А взаимное расположение методов или классов роли не играет.
+6