Słowo kluczowe static
w języku Java jest używane do zarządzania pamięcią głównie w kontekście zmiennych i metod. Elementy oznaczone jako static
należą do klasy, a nie do konkretnej instancji tej klasy. To oznacza, że możemy mieć dostęp do nich bez konieczności tworzenia obiektu klasy. W tej lekcji przyjrzymy się zastosowaniom static
na przykładzie klasy, która zarządza informacjami o pracownikach w firmie.
Przykład użycia static
w Java
Załóżmy, że chcemy stworzyć aplikację do zarządzania pracownikami. Każdy pracownik ma swoje imię, nazwisko oraz identyfikator (ID). Dodatkowo, chcemy przechowywać informację o łącznej liczbie pracowników w firmie. Tutaj przydaje się zmienna static
, ponieważ jest wspólna dla wszystkich instancji klasy.
public class Employee {
// Zmienne instancji
String firstName;
String lastName;
int id;
// Statyczna zmienna przechowująca
// liczbę pracowników
static int employeeCount = 0;
// Konstruktor
public Employee(String firstName,
String lastName) {
this.firstName = firstName;
this.lastName = lastName;
this.id = ++employeeCount;
}
// Statyczna metoda do pobierania
// liczby pracowników
public static int getEmployeeCount() {
return employeeCount;
}
// Metoda instancji do wyświetlania informacji o pracowniku
public void displayInfo() {
System.out.println("ID: " + id + ", Imię: "
+ firstName + ", Nazwisko: "
+ lastName);
}
}
Klasa testowa
Aby zademonstrować działanie naszej klasy Employee
, utworzymy prostą klasę testową:
public class EmployeeTest {
public static void main(String[] args) {
// Tworzenie obiektów pracowników
Employee emp1 = new Employee("Jan", "Kowalski");
Employee emp2 = new Employee("Anna", "Nowak");
// Wyświetlanie informacji o pracownikach
emp1.displayInfo();
emp2.displayInfo();
// Wyświetlanie łącznej liczby pracowników
System.out.println("Łączna liczba pracowników: "
+ Employee.getEmployeeCount());
}
}
Opis działania
- Statyczne zmienne (
employeeCount
) są wspólne dla wszystkich instancji klasy. Dzięki temu, z każdym nowym pracownikiem, zmienna ta jest inkrementowana, dając nam aktualną liczbę pracowników w firmie. - Statyczne metody (
getEmployeeCount()
) mogą być wywoływane bez tworzenia instancji klasy. Są one użyteczne, gdy chcemy wykonać operacje niezależne od stanu obiektów danej klasy, np. pobieranie wspólnych dla klasy danych.
Podsumowanie
Słowo kluczowe static
pozwala na zarządzanie pamięcią i dostępem do wspólnych zasobów w sposób efektywny. Statyczne zmienne i metody są użyteczne w wielu scenariuszach, w tym wtedy, gdy potrzebujemy przechowywać informacje czy zachowania wspólne dla klasy, niezwiązane bezpośrednio z jej instancjami. Wykorzystanie static
ułatwia zarządzanie stanem wspólnym i zapewnia łatwy dostęp do zasobów klasy bez potrzeby tworzenia jej obiektów.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.