Область видимости переменной определяется уровнем вложенности окружающих ее операторных скобок {}. Самая внешняя пара скобок – скобки описания класса. Все переменные, описанные внутри этих и только этих скобок доступны всем элементам класса и называются глобальными переменными. Инициализировать глобальную переменную необязательно. Глобальным переменным гарантированно присваивается значение по умолчанию, если оно явно не указано. Значения по умолчанию, присваиваемые глобальным переменным примитивных типов, приведены в табл.5.1.
Таблица 5.1 – Значения, присваиваемые глобальным переменным по умолчанию
Примитивный тип | Значение по умолчанию |
boolean | false |
char | '\u0000'(null) |
byte | (byte)0 |
short | (short)0 |
int | |
long | 0L |
float | 0.0f |
double | 0.0d |
З начение по умолчанию гарантируются только глобальным переменным. В программах, рассматриваемых нами ранее, хотя и был объявлен класс, но объявление и инициализация переменных осуществлялась в теле метода main().Переменная, описанная в блоке описания метода, называется локальной. Область ее видимости ограничена этим блоком, а время жизни – временем действия метода. Поэтому если такую локальную переменную использовать в методе заранее ее не проинициализировав, то компилятор выдаст соответствующую ошибку. Локальная переменная инициализируется обязательно.
Локальная переменная скрывает одноименную глобальную переменную.