Область видимости переменной в Java

Область видимости переменной в Java

Переменная, которая объявляется внутри метода, доступна только в пределах этого метода — ее так называемая область видимости ограничена данным методом, в котором она объявлена.

Это означает, что в другом методе можно объявить переменную с точно таким же име-нем без какого-либо конфликта.

Давайте мы с вами создадим программу постепенно, где увидите что и как используется:

1. Создайте новую программу с именем Scope, содержащую стандартный метод main.

2. Внутри фигурных скобок главного метода объявите и проинициализируйте локальную строковую переменную, а затем выведите ее значение.

3. После главного метода перед последней фигурной скобкой класса добавьте еще один метод с именем sub.

4. Внутри фигурных скобок метода sub объявите и проинициализируйте локальную строковую переменную с тем же именем, что и переменная в главном методе.

5. Добавьте вызов метода sub в конец метода main.

6. Сохраните программу под именем Scope.java, затем скомпилируй-те и запустите. Код должен выглядеть так:

После компиляции получаем:

Область видимости переменной в JavaКлючевое слово static, которое используется в объявлениях метода, указывает, что данный метод является «методом класса» — он доступен из любого другого метода данного класса.

Аналогично, при помощи ключевого слова static может быть объявлена «переменная класса», которая доступна глобально для всего класса. Объявление этой переменной должно быть выполнено перед объявлением главного метода сразу после фигурных скобок, следующих за
объявлением класса.

В программе могут встретиться одноименные глобальная переменная класса и локальная переменная метода. Локальная переменная метода имеет приоритет до тех пор, пока глобальная переменная класса не будет вызвана при помощи точечной записи с использованием имени класса, либо не объявлена локальная переменная с тем же именем.

7. Отредактируйте код в вашем файле Scope.java, добавив глобальную переменную класса с тем же именем, что и локальная переменная метода.

8. Добавьте оператор в конец главного метода для вывода значений глобальной переменной класса.

9. Закомментируйте строку, которая объявляет локальную переменную в методе sub — таким образом, оператор вывода будет теперь обращаться к глобальной переменной с тем же именем.

10. Сохраните изменения, затем снова скомпилируйте и запустите программу на выполнение, чтобы увидеть изменения.

Код программы будет следующим:

После компиляции получим следующее:

Область видимости переменной в Java

Полезные советы из практики:

  • По возможности используйте локальные переменные метода, чтобы избегать конфликтов. Глобальные переменные класса используются в основном для констант.
  • Переменная-счетчик, объявленная в цикле for, недоступна снаружи цикла — ее область видимости ограничена блоком операторов цикла.

Интересное видео для читателей: