Junior
Co oznacza słowo kluczowe 'static' w Java?
sobes.tech AI
Odpowiedź od AI
static w Javie jest używany do deklarowania elementów należących do klasy, a nie do konkretnego egzemplarza obiektu.
Słowo kluczowe może być stosowane do:
- Zmienne (pola):
- Kopia zmiennej istnieje dla całej klasy, niezależnie od liczby utworzonych egzemplarzy.
- Do uzyskania dostępu można użyć nazwy klasy (np.
ClassName.staticVariable).
// Przykład zmiennej statycznej public class MyMath { public static final double PI = 3.14159; // Dostęp: MyMath.PI } - Metody:
- Metoda należy do klasy, a nie do konkretnego obiektu.
- Może być wywołana przez nazwę klasy (np.
ClassName.staticMethod()). - Nie ma dostępu do niestatycznych członków klasy (zmiennych lub metod), ponieważ są one powiązane z egzemplarzem.
// Przykład metody statycznej public class Calculator { public static int add(int a, int b) { return a + b; } // Wywołanie: Calculator.add(5, 3) } - Bloki inicjalizacyjne:
- Wykonuje się raz podczas ładowania klasy do JVM.
- Używany do inicjalizacji pól statycznych lub wykonywania innych działań związanych z klasą.
// Przykład bloku statycznego public class DataInitializer { static { // Kod wykonywany podczas ładowania klasy System.out.println("DataInitializer class loaded."); } } - Klasy wewnętrzne (inner/nested classes):
- Statyczna klasa wewnętrzna zachowuje się jak klasa na poziomie wyższym, z tym że znajduje się wewnątrz innej klasy.
- Nie wymaga tworzenia instancji klasy zewnętrznej, aby się do niej odwołać.
- Ma dostęp tylko do statycznych członków klasy zewnętrznej.
// Przykład statycznej klasy wewnętrznej public class OuterClass { static class StaticInnerClass { // Pola i metody statycznej klasy wewnętrznej } } // Dostęp: OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();
Użycie static pomaga w tworzeniu klas narzędziowych, przechowywaniu wspólnych danych i zarządzaniu stanem na poziomie klasy.