Назад к вопросам
Junior — Middle
86
Чем отличаются поля класса и локальные переменные внутри методов в Java?
Ответ от нейросети
sobes.tech AI
Поля класса (переменные экземпляра или статические поля) и локальные переменные внутри методов в Java отличаются по области видимости, времени жизни и месту хранения:
-
Поля класса:
- Объявляются внутри класса, но вне методов.
- Хранятся в объекте (если нестатические) или в области класса (если статические).
- Сохраняют значение между вызовами методов.
- Доступны из разных методов класса (при соответствующем уровне доступа).
-
Локальные переменные:
- Объявляются внутри метода.
- Существуют только во время выполнения метода.
- Хранятся в стеке вызовов.
- Не доступны вне метода, в котором объявлены.
Пример:
public class Example {
int field = 10; // поле класса
public void method() {
int localVar = 5; // локальная переменная
System.out.println(field + localVar);
}
}
Здесь field сохраняет состояние объекта, а localVar существует только во время выполнения метода method.