2. Классификация переменных
В зависимости от места объявления и использования ключевых слов переменные делятся на следующие типы:
• Локальные переменные (Local variables):
◦ Объявляются внутри метода, конструктора или блока.
◦ Видимы только в пределах метода или блока, в котором объявлены.
◦ Создаются, когда управление переходит в блок, и уничтожаются после завершения его выполнения.
◦ Локальные переменные не могут быть статическими (static), но могут быть финальными (final).
• Переменные экземпляра (Instance variables / Member variables):
◦ Объявляются внутри класса, но за пределами методов.
◦ Видимы для всех методов класса.
◦ Существуют в виде отдельной копии для каждого созданного объекта (экземпляра) класса.
◦ Доступ к ним осуществляется через имя экземпляра.
• Статические переменные (Static variables / Class variables):
◦ Объявляются с ключевым словом static.
◦ Существует только одна копия такой переменной на весь класс, независимо от количества созданных объектов.
◦ Инициализируются только один раз при начале выполнения программы.
◦ Доступ к ним осуществляется через имя класса (например, ClassName.variable), а не через экземпляр. В статических методах нельзя обращаться к переменным экземпляра (нестатическим полям).
• Финальные переменные (Final variables):
◦ Объявляются с ключевым словом final.
◦ Действуют как константы: после первой инициализации их значение не может быть изменено.
◦ Могут быть локальными, переменными экземпляра или статическими.

