Junior
Jakie zakresy (scope) można używać w dowolnej aplikacji?
sobes.tech AI
Odpowiedź od AI
- Zasięg lokalny (Local Scope): Zmienne zadeklarowane wewnątrz metody, konstruktora lub bloku (
{}). Dostępne tylko w tym bloku. - Zasięg instancji (Instance Scope): Zmienne członkowskie klasy (nie statyczne). Należą do konkretnego obiektu klasy i są dostępne przez jego metody.
- Zasięg klasy/statyczny (Class/Static Scope): Zmienne członkowskie klasy zadeklarowane słowem kluczowym
static. Należą do samej klasy, a nie do konkretnego obiektu, i są dostępne bezpośrednio po nazwie klasy. - Zasięg pakietu (Package Scope): Członkowie klasy (zmienne, metody, konstruktory) bez jawnego modyfikatora dostępu (
public,protected,private). Dostępne dla wszystkich klas w tym samym pakiecie.
Te zakresy są fundamentalne w Java SE i mają zastosowanie we wszystkich typach aplikacji Java (konsolowe, Web, Desktop itp.).
W kontekście aplikacji webowych (np. z użyciem Spring, Jakarta EE/Java EE) stosuje się również dodatkowe zakresy:
- Request Scope: Obiekty powiązane z jednym żądaniem HTTP.
- Session Scope: Obiekty powiązane z sesją użytkownika.
- Application Scope: Obiekty dostępne w całej aplikacji webowej.