Область видимости

Открыта

Код

Этот код не стоит копировать в Андроид Студио. Это всего лишь часть большого приложения. Но этой части достаточно, чтоб решить задачу.

Ссылка на фрагмент кода Cola Wars (Войны Колы).

Комментарии (23)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #3271744
Уровень 30
20 августа 2023, 13:54
должна быть глобальной
misha_lazarev
Уровень 34
21 мая 2022, 15:40
Автор хотел скорее всего указать что правильный вариант локальная, но исходя из логики то правильный вариант, глобальная, так как в методе showMeVotes(View view); будет ошибка из-за двух переменных.
18 мая 2021, 14:03
Она локальная. DanTel 18.05.2021
N1kson Android Developer
4 декабря 2020, 08:59
1 метод: объявляется и инициализируется локальная переменная. 2 метод: объявляется и инициализируется локальная переменная. При inc получаем ошибку, потому что переменной не присвоили значение 3 метод: используются 2 необъявленных переменных, как локально так и глобально. Получаем ошибку
🦔 Викторведу учебный тг-канал в t.me/JavangelionExpert
29 ноября 2020, 19:59
1. Обе переменные локальные, потому что объявлены внутри методов. 1.1. Первая переменная объявлена и сразу проинициализирована, всё в порядке. 1.2. Вторая переменная объявлена, но НЕ проинициализирована, затем ей пытаются присвоить её же значение (которое не задано) + 1, такое компилятор не пропустит! 2. Всё получится!
Учиха ШисуиJunior Android Developer в SoftWeatherExpert
11 декабря 2020, 22:18
UPD:// В следующей статье, я увидел, что вы правильно мыслите. Не принимайте на свой счёт, я поправил вас, во избежание недоразумений для новичков. Прошу прощения, вынужден вас поправить, так как вам ставят лайки и у вас есть пометка эксперта) ваш ответ неверен. На самом деле пример набросан весьма аляписто, оттого и не сразу можно понять, что именно здесь происходит. Объясню. В данном случае говорить будем только о переменных, которые подчеркнуты красной линией в видео -
udacicolaVotes
потому в своем ответе, я буду игнорировать метод касающийся переменной pepcityVotes. Так вот. 1. В случае метода где мы голосуем за переменную Кола и инкрементируем ее, переменная, как вы и сказали, является локальной. 2. В последнем же методе (подсчета голосов), происходит обращение к переменным. Однако, мы не можем полагать что происходит обращение к локальным переменным - из предыдущих лекций, мы узнали, что локальные переменные - не видны за пределами метода (метод из пункта 1.) ___ Возникает 2 предположения: Первое - В последнем методе (подсчета голосов) - обращение происходит к глобальным переменным (переменным класса), о которых в видео упомянуто и вовсе не было, однако предположение такое имеет место быть - описанный синтаксис это допускает. В таком случае описание этих переменных осталось за кадром, в том самом троеточии. Второе предположение - за ширмой нет никаких глобальных переменных и описанный код - всё что у нас есть. Он спровоцирует синтаксическую ошибку (подсветит метод подсчёта голосов красным цветом), не позволяя даже запустить компиляцию. ___ Так как курс разрабатывали не дураки, наверняка второй вариант является верным. Короче говоря, udaciCola в последнем случае, чисто теоретически не может быть локальной переменной. Благодарю, за внимание. С уважением.
🦔 Викторведу учебный тг-канал в t.me/JavangelionExpert
13 декабря 2020, 11:14
Шисуи-сан, спасибо за ваши развёрнутые комментарии, замечания и дополнения. Всё прочёл и взял на заметку ✌
Stragin
Уровень 4
9 июня 2020, 09:43
обе локальные
Anton Evseev
Уровень 3
22 декабря 2019, 10:39
udacicolaVotes - Локальная переменная, так как объявлена внутри метода voteUdacicola.
Ripper Jackm
Уровень 19
30 июня 2019, 11:52
6 мая 2019, 11:14
локальная переменная
Фарид Велиев
Уровень 2
22 января 2019, 15:47
Локальные переменные