В Java существует три основных вида переменных:
-
Локальные переменные (Local variables):
- Объявляются внутри методов, конструкторов или блоков.
- Доступны только в пределах того блока, где они объявлены.
- Не имеют значений по умолчанию, их необходимо инициализировать перед использованием.
- Время жизни ограничено выполнением метода или блока.
-
Переменные экземпляра (Instance variables) / Поля (Fields):
- Объявляются внутри класса, но вне методов, конструкторов и блоков.
- Принадлежат конкретному объекту (экземпляру класса).
- Создаются при создании объекта и уничтожаются вместе с ним.
- Имеют значения по умолчанию (0 для числовых типов,
null для объектов, false для булевых).
- Доступ к ним осуществляется через объект.
-
Статические переменные (Static variables) / Переменные класса:
- Объявляются внутри класса с использованием ключевого слова
static, но вне методов, конструкторов и блоков.
- Принадлежат не конкретному объекту, а классу в целом.
- Создаются при загрузке класса и существуют до выгрузки класса.
- Существует только одна копия статической переменной на весь класс, независимо от количества созданных объектов.
- Имеют значения по умолчанию (как и переменные экземпляра).
- Доступ к ним может осуществляться как через класс, так и через объект (но через класс предпочтительнее и яснее).
java