Sobes.tech
Назад к вопросам
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.