- Локальная область видимости (Local Scope): Переменные, объявленные внутри метода, конструктора или блока (
{}). Доступны только внутри этого блока.
- Область видимости экземпляра (Instance Scope): Переменные-члены класса (не статические). Принадлежат конкретному объекту класса и доступны через его методы.
- Область видимости класса/статическая (Class/Static Scope): Переменные-члены класса, объявленные с ключевым словом
static. Принадлежат самому классу, а не конкретному объекту, и доступны напрямую по имени класса.
- Область видимости пакета (Package Scope): Члены класса (переменные, методы, конструкторы) без явного модификатора доступа (
public, protected, private). Доступны всем классам в том же пакете.
Эти области видимости являются фундаментальными в Java SE и применимы во всех типах Java-приложений (консольные, Web, Desktop и т.д.).
В контексте web-приложений (например, с использованием Spring, Jakarta EE/Java EE) также используются дополнительные области видимости:
- Request Scope: Объекты, связанные с одним HTTP-запросом.
- Session Scope: Объекты, связанные с сеансом пользователя.
- Application Scope: Объекты, доступные во всем web-приложении.