Поле (или член класса) — это переменная, объявленная внутри класса, но вне любого метода, конструктора или блока инициализации. Поле принадлежит либо экземпляру класса (если не static), либо самому классу (если static).
Переменная — это более общий термин. Переменная — это именованная область памяти, в которой хранятся данные определенного типа. Переменные могут быть:
- Полями (членами класса)
- Локальными переменными (объявлены внутри метода, конструктора или блока)
- Параметрами методов (передаются в метод в сигнатуре)
Главные отличия:
- Область видимости: Поля имеют более широкую область видимости (в пределах класса или даже вне его с модификаторами доступа), тогда как локальные переменные видны только внутри блока, где они объявлены.
- Время жизни: Поля существуют столько же, сколько объект, которому они принадлежат (или пока класс загружен для static полей), тогда как локальные переменные существуют только во время выполнения блока, в котором они объявлены.
- Значение по умолчанию: Поля получают значения по умолчанию (0, null, false), если не инициализированы явно. Локальные переменные должны быть инициализированы перед использованием.
Пример:
java